簡體   English   中英

如何在Android 3.1及更高版本的啟動完成后啟動應用程序?

[英]How to start the application after boot complete in android version 3.1 and above?

我認識了啟動完成意圖不被Android版本3.1及以上版本支持從這里 但在我的申請中。 我想在設備重啟后在我的應用程序中自動啟動服務。 我不希望用戶手動啟動我的應用程序。 我該怎么做 ? 提前感謝您的幫助。

是什么讓你認為不再發送ACTION_BOOT_COMPLETED廣播? 我經常使用它,其他人也經常使用它。 請確保您的清單中有RECEIVE_BOOT_COMPLETED權限。

嘗試以下步驟以在啟動后啟動應用程序:

創建一個擴展BroadcastReceiver的類:

     public class AutostartService extends BroadcastReceiver {  

      @Override  
      public void onReceive(Context context, Intent intent) {
      System.out.println("in broad....");

       if ((intent.getAction() != null) && (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")))
    {
        System.out.println("in broadcast receiver.....");
        Intent i = new Intent(context, Splash.class);  
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
        context.startActivity(i);  
         }
        }

     }

並在android清單文件中添加此項:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

        <receiver android:name=".AutostartService"   android:enabled="true" 
        android:exported="true">

    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

        </receiver>  

嗯現在這已經很老了,可能大多數人都學到了它,但仍然有用。

從3.1+開始,為了接收BOOT_COMPLETED ,您的應用必須至少由用戶啟動一次。

注意:此規則不適用於/system應用程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM