如何保持Android应用程序无限期运行?

我正在编写一个Android应用程序,必须始终在后台运行,直到用户从应用程序的菜单中退出。 但现在我注意到,在Android一段时间后,我的应用程序本身停止,没有用户干预。

任何想法如何确保我的应用程序将始终在后台运行?

  • 使用Alarmmanager在特定时间启动服务
  • 服务和BroadCastReceiver
  • Android密钥logging器
  • 在CountDownTimer中没有调用Looper.prepare()的线程内部不能创build处理程序
  • 当电话屏幕locking时,Android计时器会延迟
  • Android:用参数启动服务
  • 从后台线程popup对话框Android
  • 如何确保你不启动一个服务两次android
  • 你需要运行一个你自己的服务。 http://developer.android.com/reference/android/app/Service.html

    如果你需要在任何时候运行,看看一个ServicestartForeground 。 如果您可以让您的Service死掉但重新启动,请查看onStartCommandSTART_STICKY

    对于你的活动,在清单xml中,把:

    机器人:执着=“真”

    AndroidMainfest.xml看起来像这样presistent = true:

     <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.test" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="7" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" android:persistent="true"> <activity android:name="com.example.test.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 

    “虽然应用程序开发文档确实解释了android:persistent的作用,但是该属性的使用是为在AOSP中构build的应用程序保留的。”

    – embedded式Android