2012-01-24 3 views
1

Я создал небольшое приложение. Единственное, что он делает, - поймать исходящий звонок и показать некоторую активность, когда это произойдет. Существует только Activity и BroadcastReceiver.Начало деятельности в BroadcastReceiver

Я хотел интегрировать свой код с другим приложением, я удалил BroadcastReceiver из Manifest.xml и создал (и зарегистрировал) его динамически из основного действия. Мой приемник хорошо стрелял, но активность не появляется.

В чем разница между двумя методами?

Как я могу активировать активность?

из MainActivity.java:

callInterceptor = new InterceptOutgoingCall(); 
IntentFilter callInterceptorIntentFilter = new IntentFilter("android.intent.action.NEW_OUTGOING_CALL"); 
callInterceptorIntentFilter.setPriority(100); 
registerReceiver(callInterceptor, callInterceptorIntentFilter); 

и от функции receiver.onReceive(Context,Intent):

Intent alertIntent = new Intent(context, AlertActivity.class); 
alertIntent.putExtra("callnumber", phonenbr); 
alertIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(alertIntent); 

моя деятельность объявлена ​​в manifest, как это:

<activity android:name=".AlertActivity" 
      android:screenOrientation="portrait"/> 

ответ