アプリケーションに奇妙なエラーがあります。OSから直接アプリケーションを起動し、タスクキラーを介してバックグラウンドからアプリケーションを強制終了すると、アプリがクラッシュします(クラッシュを気にしないでください。理由は大まかにわかります-クラスローダー)。これは、クラッシュを再現する数少ない方法の1つです。一貫して->OSのシミュレーションでメモリを解放し、アプリケーションを閉じます)、再起動してみてください。
次のコマンドを使用してadbシェルを介してアプリケーションを起動すると、問題が発生します。
adb shell am start -a android.intent.action.MAIN -n com.my.packagename/myLaunchActivity
クラッシュを再現できません。
それで、上記の呼び出しとは対照的に、Android OSがアプリケーションを呼び出す方法に違いはありますか?
編集:マニフェストを追加しました(名前を変更しただけです)
<?xml version="1.0" ?>
<manifest android:versionCode="5" android:versionName="1.05" package="com.my.sample" xmlns:android="http://schemas.android.com/apk/res/android">
<uses-sdk android:minSdkVersion="7"/>
<application android:icon="@drawable/square_my_logo" android:label="@string/app_name">
<activity android:label="@string/app_name" android:name="com.my.InfoActivity" android:screenOrientation="landscape"></activity>
<activity android:label="@string/app_name" android:name="com.my2.KickStart" android:screenOrientation="landscape"/>
<activity android:label="@string/app_name" android:name="com.my2.Launcher" android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/></manifest>
adbシェルからcom.my2.Launcherを起動します