BroadcastReceiver
とActivity
を見ていて、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
で着信番号を使用しなければならないことです実行されているので、私はまた、このようなActivity
内BroadcastReceiver
を置く可能性について読んだことがある:
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
の変数に入れられています。