我像这样向广播接收器发送意图。
Intent cpIntent = new Intent();
cpIntent.setClassName("com.android.contacts", "com.android.contacts.EABContactsAppReceiver");
cpIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
cpIntent.setAction(IMS_SUBSCRIBE);
cpIntent.putExtra("contactid",contactid);
startActivity(cpIntent);在接收方,我接受的意图如下:
else if( intent.getAction().equals(ContactsListActivity.IMS_SUBSCRIBE )){
// this is a dummy event just to start the application
Log.d("ContactsAppReceiver", "IMS_SUBSCRIBE");
final String id = intent.getStringExtra("contactid");
Log.d(TAG,"id :"+id);我还在Manifest文件中声明了活动和意图过滤器。
<receiver android:name="com.android.contacts.EABContactsAppReceiver">
<intent-filter>
<!-- <action android:name="com.sec.android.app.sns.action.UPDATE_ACTIVITY" />
--> <!--<action android:name="com.sec.siso.imsservice.IMS_SERVICE_READY_EVENT" />-->
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="android.intent.action.ACTION_SYNC_STATE_CHANGED"/>
<!-- <action android:name="com.sec.android.app.sns.action.UPDATE_MESSAGE" />
-->
<action android:name="com.sec.siso.SUBSCRIBE"/>
<action android:name="com.sec.siso.logs.SUBSCRIBE"/>
</intent-filter>
</receiver>然而,我仍然得到了ActivityNotFoundException。有人能在这方面帮我吗?
发布于 2012-06-13 15:32:40
在您的第一个代码中,您尝试启动一个活动,而不是发送一个广播。你应该替换掉
startActivity(cpIntent);使用
sendBroadcast(cpIntent);https://stackoverflow.com/questions/11009779
复制相似问题