2012-02-24 7 views
0

BroadcastReceiverActivityを見ていて、BroadcastReceiverの着信番号をActivityに使用するための正しいモードを見つけられませんでした。これは私が着信番号を傍受し、Toastで視覚化するために使用するコードです:アクティビティで使用する変数に着信番号を保存する

public class CustomBroadcastReceiver extends BroadcastReceiver { 
    String ophoneNumber; 
    @Override 
    public void onReceive(Context context, Intent incoming) { 
    Bundle bundle = incoming.getExtras(); 
    ophoneNumber= bundle.getString("incoming_number"); 
    Toast.makeText(context, ophoneNumber, Toast.LENGTH_LONG).show(); 
    } 
} 

マニフェストの一部:

<receiver android:name=".CustomBroadcastReceiver">  
     <intent-filter>  
      <action android:name="android.intent.action.PHONE_STATE" /> 
     </intent-filter> 
</receiver> 

私の問題は、私はそのActivityで着信番号を使用しなければならないことです実行されているので、私はまた、このようなActivityBroadcastReceiverを置く可能性について読んだことがある:

public void monitorIncomingCalls(){ 
      INcall = new BroadcastReceiver(){ 
        public void onReceive(Context context, Intent intent) { 
        final Bundle extras = intent.getExtras(); 
       if(intent.getAction().equalsTelephonyManager.ACTION_PHONE_STATE_CHANGED)) 
       inphoneNumber = extras.getString(TelephonyManager.EXTRA_INCOMING_NUMBER); 
          } 
         }; 
    registerReceiver(INcall, new IntentFilter(Intent.ACTION_ANSWER)); 
                } 

しかし、 inphoneNumber変数には何も持っていませんが、私は許可を逃しているので、BroadcastReceiverを正しく登録できないと思います。 私はウェブで私が欲しいもののために働いている例を見つけませんでした。それは基本的に私の電話番号のActivityの変数に入れられています。

答えて

関連する問題