如何使用或从同一个Broadcast Receiver类获取多个intent操作

时间:2012-06-21 09:05:47

标签: android android-intent

我在一个接收器类中有两个intent动作。在清单文件中:

<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”,但我无法跟踪“Boot Completed”操作。无论如何,从共同的onReceive()获得多个意图行动?

1 个答案:

答案 0 :(得分:1)

是的,您可以将多个广播投放到单个onReceive()。确保您拥有权限

 <uses-permission
     android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
在你的清单中

此外,从Android 3.1开始,除非您的应用程序至少已由用户运行一次,否则您将无法获得BOOT_COMPLETED广播。见http://commonsware.com/blog/2011/07/13/boot-completed-regression-confirmed.html