我试图在新进程中启动一个服务,所以它会在应用程序关闭时保持活动状态。在另一个进程上运行的服务的问题
我有一个名为MainScreen的活动,和一个名为BackgroundSensorService的IntentService。 这里是服务的清单定义:
<service
android:name=".services.BackgroundSensorService"
android:exported="false"
android:process=":backgroundSens" >
<intent-filter>
<action android:name="android.intent.action.SEND" />
</intent-filter>
</service>
这里是运行服务的代码片段:
Intent intent = new Intent(MainScreen.this, BackgroundSensorService.class);
intent.setAction("android.intent.action.SEND");
startService(intent);
当我尝试设置在HandleIntent方法中设置断点,我永远也做不到。 我试图在onCreate中设置一个断点,但我从来没有达到过。 奇怪的是,如果我从我的服务中删除'process'标签,一切都可以正常工作。
我打破我的头在这个问题上...
注:我试图模仿WhatsApp的示例服务,用于跟踪传入消息即使在应用程序关闭时的行为。该服务应该在后台运行,并且没有GUI。
如果进程名称以小写字符开头,则该服务将在该名称的全局进程中运行,**前提是它有权这样做**。这允许不同应用程序中的组件共享一个进程,从而减少资源使用。 – Skynet
感谢您的快速回复,@Skynet。我试过了,但它不能解决我的问题。不过,很高兴知道。谢谢! –
意图服务意味着在后台运行 - 即使您的应用程序不在堆栈中 – Skynet