2010-08-20 80 views
10

我正在编写一个Android应用程序,它必须始终在后台运行,直到用户从应用程序的菜单中退出。但现在我注意到,在一段时间后,我的应用在没有用户干预的情况下自行停止。如何让Android应用程序无限期运行?

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

+1

它停止它的时候内存已经结束,它需要另一个应用程序 – 2010-08-20 09:59:38

+2

请考虑用已接受的答案标记一些问题,以便其他人可以从中受益。 – 2011-05-05 20:46:08

回答

0

为了您的活动,清单中的XML,放:

机器人:执着= “真”

+1

从[documentation](http://developer.android.com/guide/topics/manifest/application-element.html#persistent): 应用程序通常不应该设置此标志;持久性模式仅用于某些系统应用程序。 – 2011-05-05 20:44:55

+1

我的答案在技术上是准确的,符合海报对“必须始终在后台运行”的要求。 – 2011-05-05 23:58:04

+12

设置持久性[仅适用于系统映像附带的应用程序](https://groups.google.com/d/msg/android-developers/2E10ZSnaK2Q/csXFYPchqcIJ)。 – 2011-05-06 04:17:53

7

如果需要始终保持运行,寻找到一个ServicestartForeground。如果您可以让Service死亡但重新启动,请查看onStartCommandSTART_STICKY

+0

我正在做同样的事情。在nexus 5中工作良好。但是,在我的应用程序正在查杀时,xiaomi服务正在被杀死。 – Abhi 2016-04-07 09:58:37

0

AndroidMainfest.xml看起来是这个presistent =真:

<?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> 
+1

仅适用于系统映像附带的应用程序。请参阅http://stackoverflow.com/questions/3529834/how-to-keep-a-android-app-always-running#comment6799178_5811609 – 2014-05-22 15:01:25

0

“虽然应用程序开发文档不解释 机器人的角色:执着,使用该属性预留给应用程序, 是在AOSP内建成“

- 嵌入式Android的

相关问题