0

1つのレシーバークラスに2つのインテントアクションがあります。マニフェストファイル:

<receiver android:name=".ConnectivityReceiver" >
    <intent-filter>
        <action android:name="android.net.conn.CONNECTIVITY_CHANGE"></action>
    </intent-filter>
    <intent-filter> 
        <action android:name="android.intent.action.BOOT_COMPLETED" /> 
    </intent-filter> 
</receiver>

そして、内部のレシーバークラスでonReceive()

@Override
public void onReceive(Context context, Intent intent) {
    System.out.println("--------BOOT-----------"+intent.getAction());
}

ここでintent.getAction()は「android.net.conn.CONNECTIVITY_CHANGE」のみが返されますが、「BootCompleted」アクションを追跡できません。とにかく、共通から複数のインテントアクションを取得することはできonReceive()ますか?

4

1 に答える 1

1

はい、複数のブロードキャストを 1 つの に配信できますonReceive()。許可があることを確認してください

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

あなたのマニフェストで。

また、Android 3.1 の時点では、アプリケーションがユーザーによって少なくとも 1 回実行されていない限り、BOOT_COMPLETED ブロードキャストを受け取ることはありません。http://commonsware.com/blog/2011/07/13/boot-completed-regression-confirmed.htmlを参照してください。

于 2012-06-21T17:07:34.343 に答える