2012-06-13 7 views
1

Я отправляю намерение вещательному приемнику, как это.не удалось решить ActivityNotFoundException

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. Может ли кто-нибудь помочь мне в этом?

+0

вы добавляете это андроид файл манифеста <активности Android: имя = "YourActivity." /> –

+0

Я. .. я добавил его в манифесте, а также. как показано на рисунке. – scooby

+0

Вы можете вставлять записи logcat? Я просто хочу выяснить, где ошибка. – drulabs

ответ

3

В вашем первом коде вы пытаетесь запустить активность вместо отправки широковещательной передачи. Вы должны заменить

startActivity(cpIntent); 

с

sendBroadcast(cpIntent); 
+1

Точно! Намерения используются для 3-х различных целей: запуск/общение с Управлением, запуск/общение с Сервисом, отправка широковещательной передачи. Это совершенно разные вещи, и вы не можете их смешивать. –

+0

Спасибо .. это помогло. :) – scooby

Смежные вопросы