1

このようなブロードキャスト レシーバーにインテントを送信しています。

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います。誰でもこれについて私を助けることができますか?

4

1 に答える 1

3

最初のコードでは、ブロードキャストを送信する代わりにアクティビティを開始しようとしています。交換する必要があります

startActivity(cpIntent);

sendBroadcast(cpIntent);
于 2012-06-13T07:32:39.523 に答える