私のAndroidアプリは、フォアグラウンドサービスでもバックグラウンドで殺されていました。サービスのマニフェスト エントリは次のとおりです。
<service
android:name=".MyService"
android:icon="@drawable/icon"
android:label="TritonHK"
android:process=":my_process" >
</service>
これがサービスのコードです
MLog.w(getClass().getName(), "TritonHK started");
Notification note=new Notification(R.drawable.icon,
"TritonHK is running",
System.currentTimeMillis());
Intent i=new Intent(this, BGMessages.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|
Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pi=PendingIntent.getActivity(this, 0,
i, 0);
note.setLatestEventInfo(this, "TritonHK",
"TritonHK",
pi);
note.flags|=Notification.FLAG_NO_CLEAR;
startForeground(1337, note);
そして、これが私がサービスを開始する方法です:
Intent i=new Intent(this, MyService.class);
startService(i);
最初のアクティビティの onCreate でサービスを開始しています。
マニフェストでサービスから削除することで、このバグを克服し android:process=":my_process"
ました。現在は次のようになっています。
<service
android:name=".MyService"
android:icon="@drawable/icon"
android:label="TritonHK"
>
</service>
しかし今、私は興味深い問題に直面しています。
デバイスにアプリをインストールし、インストールが成功した後done
、アイコンをクリックしてアプリを起動すると、正常に動作します。
しかし、インストールが成功した後、open
ボタンをクリックしてアプリを起動すると、初めてバックグラウンドで強制終了されました。次に、アプリを強制終了してアイコンから再度起動すると、正常に動作します。
私は何がうまくいかないのか困惑しています。私を助けてください