我正在尝试编写无法被用户或其他应用程序终止的应用程序。我明白这违背了Android为其平台设计的内容,这更像是一个概念证明。该计划有两个应用程序,app1和app2。当app1启动时,它将启动app2,然后绑定到app2,当app2启动时,它将确保app1启动,如果不启动,则启动它并绑定到app1。在app1上app1和app2绑定的app1的关键点是,当其中一个被杀死时,会调用一个方法,表明绑定已断开连接,然后可以重新启动应用程序。我目前有这些应用程序在启动时互相启动,但当我强行关闭其中一个时,我似乎无法让它们重新启动。创建无法终止的Android服务
对APP的服务我已经和APP 2非常相似:
@Override
public void onCreate()
{
this.setForeground(true);
this.startService((new Intent()
.setComponent(new ComponentName("com.app2",
"com.app2.App2Service"))));
this.bindService((new Intent()
.setComponent(new ComponentName("com.app2",
"com.app2.App2Service"))), mConnection,
BIND_DEBUG_UNBIND);
而对于我的类,它实现ServiceConnection我:
@Override
public void onServiceDisconnected(ComponentName name)
{
Log.d(TAG, "onServiceDisconnected:" + name.getClassName());
mContext.startService((new Intent()
.setComponent(new ComponentName("com.app2",
"com.app2.App2Service"))));
}
我想我遇到的问题是,onServiceDisconnected永远不会在app1或app2被杀时调用。我认为这可能是因为我没有正确绑定到服务。
W/JavaBinder( 884): ibinderForJavaObject: 0x436274a0 is not a Binder object
W/JavaBinder( 891): ibinderForJavaObject: 0x43621d30 is not a Binder object
所以我的问题是,我怎样才能将服务绑定在一起,所以当一个人被强制关闭,我会得到另一个通知?
只是不叫它天网... – 2010-09-10 15:56:17
@约翰C - “约翰C”,如约翰康纳,我假设?你的封面已被炸毁! – 2010-09-10 16:10:47