我正在开发一个简单的程序,当移动电池电量不足时,它应该创建一个包含一些数据的通知。
该应用程序运行良好,但我必须首先自己打开该应用程序,或者如果手机已关闭再打开,并且如果用户从当前正在运行的应用程序菜单中关闭该应用程序,它也会关闭。
例如,我怎样才能使它像 truecaller 一样,以便用户在安装后打开它后它会永远继续工作?
我正在开发一个简单的程序,当移动电池电量不足时,它应该创建一个包含一些数据的通知。
该应用程序运行良好,但我必须首先自己打开该应用程序,或者如果手机已关闭再打开,并且如果用户从当前正在运行的应用程序菜单中关闭该应用程序,它也会关闭。
例如,我怎样才能使它像 truecaller 一样,以便用户在安装后打开它后它会永远继续工作?
您必须在设备启动时启动监控服务,才能在设备重新启动后使用它。
示例广播接收器:
<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 中的安全程序。
我认为http://developer.android.com/training/run-background-service/create-service.html会对你有好处。
IntentService 类为在单个后台线程上运行操作提供了一个简单的结构。这允许它处理长时间运行的操作,而不会影响用户界面的响应能力。此外,IntentService 不受大多数用户界面生命周期事件的影响,因此它会在会关闭 AsyncTask 的情况下继续运行