3

ここから、ブートコンプリートインテントがAndroidバージョン3.1以降ではサポートされていないことを知りました。しかし、私のアプリケーションでは。デバイスを再起動した後、アプリケーションでサービスを自動的に開始したい。ユーザーにアプリケーションを手動で起動させたくありません。どうすればいいですか?よろしくお願いします。

4

3 に答える 3

0

ACTION_BOOT_COMPLETEDブロードキャストが送信されなくなったと思う理由は何ですか?私はそれを頻繁に使用します、そして他の人もそうします。マニフェストにRECEIVE_BOOT_COMPLETED権限があることを確認してください。

于 2012-12-07T07:27:48.993 に答える
0

起動後にアプリケーションを起動するには、次の手順を試してください。

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>  
于 2012-12-07T07:29:55.283 に答える
0

さて、これは今ではかなり古く、おそらくほとんどの人がそれを学びましたが、それでも役立つかもしれません。

3.1以降では、を受け取るにはBOOT_COMPLETED、ユーザーがアプリを少なくとも1回起動する必要があります。

/system注:このルールはアプリには適用されません

于 2015-10-15T19:01:30.330 に答える