即使使用前台服务,我的 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
按钮启动应用程序,它第一次在后台被杀死。然后,如果我强制关闭应用程序并再次从图标启动它,那么它运行良好。
我很困惑出了什么问题。请帮我