2010-08-20 69 views
10

Tôi đang viết một ứng dụng Android phải luôn chạy trong nền cho đến khi người dùng thoát khỏi ứng dụng của trình đơn. Nhưng bây giờ tôi nhận thấy rằng trong Android sau một thời gian, ứng dụng của tôi bị ngừng mà không có sự can thiệp của người dùng.Cách giữ ứng dụng Android chạy vô thời hạn?

Bất kỳ ý tưởng nào về cách đảm bảo ứng dụng của tôi sẽ luôn chạy trong nền?

+1

nó dừng nó khi bộ nhớ là hơn và nó cần nó cho một ứng dụng khác –

+2

Hãy xem xét việc đánh dấu một số câu hỏi của bạn với câu trả lời được chấp nhận để những người khác có thể hưởng lợi từ chúng. –

Trả lời

0

Đối với hoạt động của bạn, trong xml manifest, đưa:

android: dai dẳng = "true"

+1

Từ [tài liệu] (http://developer.android.com/guide/topics/manifest/application-element.html#persistent): Các ứng dụng thường không nên đặt cờ này; chế độ kiên trì chỉ dành cho các ứng dụng hệ thống nhất định. –

+1

Câu trả lời của tôi là chính xác về mặt kỹ thuật và đáp ứng yêu cầu của người đăng "phải luôn chạy trong nền". –

+12

Đặt mọi thứ liên tục [chỉ hoạt động đối với các ứng dụng đi kèm với hình ảnh hệ thống] (https://groups.google.com/d/msg/android-developers/2E10ZSnaK2Q/csXFYPchqcIJ). –

7

Nếu bạn cần phải chạy bất cứ lúc nào, nhìn vào một ServicestartForeground. Nếu bạn có thể để số Service chết nhưng được khởi động lại, hãy xem onStartCommandSTART_STICKY.

+0

Tôi cũng làm như vậy. làm việc tốt trong nexus 5. Nhưng trong dịch vụ xiaomi là bị giết ngay sau khi ứng dụng của tôi là giết chết. – Abhi

0

AndroidMainfest.xml trông như thế này với 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> 
+1

Chỉ hoạt động đối với các ứng dụng đi kèm với hình ảnh hệ thống. Xem http://stackoverflow.com/questions/3529834/how-to-keep-a-android-app-always-running#comment6799178_5811609 –

0

“Trong khi các tài liệu phát triển ứng dụng không giải thích vai trò của android: dai dẳng, việc sử dụng các thuộc tính đó được dành riêng cho các ứng dụng được xây dựng trong AOSP “

-. Embedded Android

Các vấn đề liên quan