2017-04-21 58 views
1

我需要在啓動時運行一個android應用程序。我遵循了有關清單文件許可的所有說明,創建了BroadcastReceiver併爲同一個Android項目添加了虛擬活動,並至少手動運行該活動一次。 我已經關閉手機並每天多次,應用程序始終正常啓動。問題在於三到四天後,應用程序將停止在電話啓動時運行,並且有必要再次手動運行虛擬活動以延長其功能三到四天。 歡迎任何形式的幫助。在android中啓動時運行應用程序

+0

在任何Android設備上,您需要在最初安裝應用程序後以及在用戶在設置中的應用程序屏幕上按下「強制停止」後運行該活動。否則,你應該沒問題。有些設備做傻事,並在其他時間使用「強制停止」行爲,除了用戶點擊該按鈕時。除了對設備製造商大吼外,對此你可以做的並不多。 – CommonsWare

+0

分享一些代碼 –

回答

1

不知道您所用的代碼,但是我用這個和它工作正常總是

public class AutoStart extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) { 
      //Do something 
     } 
    } 
} 
+0

Bibaswan:我的代碼完全和你說的一樣。應用程序在手動運行一次後,可以在三天或四天內正常工作。在那段時間裏,我重新啓動了手機多次,並始終應用程序啓動沒有問題。但是三到四天之後它就不會啓動,需要手動運行它才能在另一個類似的時間段內擴展其功能。 –

+0

我認爲Android系統會在你幾天不打開應用程序時降低它的優先級。你必須在一段時間內使用該應用程序 –

0

由於Android 3.1,你的應用程序是先在一個「停止」狀態(這是從onStop()不同)。在停止狀態下,您的清單註冊BroadcastReceiver將不起作用。您必須至少安裝一次後才能運行您的應用程序,以使其正常工作。

另外,您不應該像Commonsware指出的那樣強制停止您的應用程序。強制停止將終止應用程序進程。

+0

Id做了你所說的,但應用程序。三到四天後停止。 –

+0

因此,您必須使用'BOOT_COMPLETED'在啓動時運行活動。對??並且在3-4天后,當它停止工作時,它是否顯示任何錯誤消息,或者它只是在啓動時不運行? – rayan

+0

你在用什麼設備? – rayan

相關問題