Android:始终在后台运行

时间:2015-12-09 14:22:55

标签: android service mobile-development

我正在开发一个简单的程序,当移动电池电量不足时,应该使用一些数据创建通知。

应用程序工作正常,但我必须首先自己打开应用程序,或者手机是否已关闭,如果用户从当前正在运行的应用程序菜单关闭应用程序,它也会关闭。

我如何使它像truecaller一样,以便用户在安装后打开它后它将继续工作?

2 个答案:

答案 0 :(得分:1)

您必须在设备启动时启动监控服务,以便在重启设备后可以使用它。

BroadcastReceiver示例:

<receiver android:name=".BootReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <category android:name="android.intent.category.HOME" />
    </intent-filter>
</receiver>

然后,此接收者BootReceiver可以启动您的Service

安装后,用户需要手动运行您的应用程序至少一次。这是Android中的安全程序。

答案 1 :(得分:0)

我认为http://developer.android.com/training/run-background-service/create-service.html对你有好处。

  

IntentService类提供了一个简单的结构,用于在单个后台线程上运行操作。这使它能够处理长时间运行的操作,而不会影响用户界面的响应能力。此外,IntentService不受大多数​​用户界面生命周期事件的影响,因此它会在关闭AsyncTask的情况下继续运行