2012-07-20 24 views
2

我想注册一个在Android manifest.xml中有许多操作的接收器。在manifest.xml中注册一个包含许多操作的接收器

IntentFilter intentFilter = new IntentFilter(); 
intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED); 
intentFilter.addAction(Intent.ACTION_PACKAGE_INSTALL); 
intentFilter.addDataScheme("package"); 
registerReceiver(installReceiver,intentFilter); 

我无法弄清楚。怎么做?

回答

3

尝试为:

在清单
<receiver android:name="getBroadcast" android:enabled="true" > 
    <intent-filter> 
    <action android:name="android.intent.action.PACKAGE_ADDED"></action> 
    <action android:name="android.intent.action.PACKAGE_CHANGED"></action> 
    <action android:name="android.intent.action.PACKAGE_INSTALL"></action> 
    <data android:scheme="package"></data> 
    </intent-filter> 
</receiver> 
2
 <receiver 
      android:name="your receiver class" > 
      <intent-filter> 
       <action android:name="android.intent.action.PACKAGE_ADDED"/> 
       <action android:name="android.intent.action.PACKAGE_INSTALL"/> 
       <!--more action--> 
       <data android:scheme="package"/> 
      </intent-filter> 
     </receiver> 
+0

好,谢谢,但如何添加intentFilter.addDataScheme( “包”);? – 2012-07-20 07:24:04

+1

在intent-filter标记中添加 2012-07-20 07:43:12

1

使用Intent-Filter标签下<reciever>

<receiver android:name=".YourReciever"> 
<intent-filter> 
    <action android:name="android.intent.action.PACKAGE_ADDED" /> 
    <action android:name="android.intent.action.PACKAGE_INSTALL" /> 
    <action android:name="your action3" /> 
</intent-filter> 
</reciever> 
相关问题