远程服务 - 关闭启动后重新启动活动
问题描述:
我被阻止了几天,无法找到答案。远程服务 - 关闭启动后重新启动活动
我从一个Activity开始一个远程服务。启动服务后,我关闭启动Activity(我按下活动中的一个按钮启动远程服务)。
发生的事情是我的服务重新启动!当我关闭启动活动。 我把启动Activity放在后台,进入onPause()状态,然后从任务管理器关闭它。
当我这样做,我的远程服务重新启动,并在大约2秒后再次打开。 所有的内部变量将被重置,我不希望这样。
- 我不希望使用useForeground()方法,因为我不希望我的服务是在通知
可见 - 也想使用onBind()与服务
我“已经宣布它是这样:
我现在开始这样的远程服务和服务启动(我可以看到它的服务区域):
//button clicked form onCreate() launching Activity
btnStartSrv.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
startService(new Intent("RM_SRV_AIDL"));//the name of the service
}
});
在T
他AndroidManifest.xml我宣布这样的远程服务:
<service
android:name="com.mainActivity.MyRemoteService"
android:label="somenameService"
android:process=":remote"
>
<intent-filter>
<action android:name="RM_SRV_AIDL" />
</intent-filter>
</service>
如何通过重新启动问题?
答
我不知道你真正想要的,因为你说你要onBind()
但没有它在你的代码片断而且你用startService()
这通常是你开始Services
其他的方式做。
然而,这些可以帮助你:
"A service can be both started and have connections bound to it."所以你不必之间选择一个有界Service
(onBind()
)或显式启动/停止一个(startService()
)。
也不要忘记设置Service FLAGS
开始onStartCommand (Intent intent, int flags, int startId)
,如START_STICKY
。
希望这些帮助。
我只使用startService()。对于onBind()方式,我将在稍后使用startService()并修复重置问题。现在重新设置服务是主要问题 – marisxanis
好吧,你有没有尝试设置我写的标志? 没关系,只是看到它在其他职位 – IBoS
你确定你没有关闭服务以及使用你的任务管理器?这应该解释重启问题。尽量不要使用任何任务管理器,让系统在不使用它之后停止你的活动,并检查你的服务是否以这种方式关闭。 – IBoS