ブロードキャスト受信者から発信番号を取得していて、getNumber()メソッドを介してアクティビティに送信しようとしていますが、値がnullになっています。アクティビティクラスでは以下の私のコードをイム文字列PHONENUMBERがnullルーキーミス:発信番号をアクティビティに渡そうとしています
BroadcastRecieverクラス:
public class OutgoingBroadcastReceiver extends BroadcastReceiver {
String phonenumber = null;
@Override
public void onReceive(Context context, Intent intent) {
phonenumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
if (intent.getAction().equals("android.intent.action.NEW_OUTGOING_CALL"))
{
Log.i("System out", "IN OUTGOING CALL......... :IF");
MyPhoneStateListener phoneListener = new MyPhoneStateListener(
context);
TelephonyManager telephony = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
telephony.listen(phoneListener,
PhoneStateListener.LISTEN_CALL_STATE);
} else {
Log.i("System out", "IN INCOMING CALL.........:else:receiver");
}
public String getNumber()
{
return phonenumber;
}
活動クラス:
public class OutgoingCallScreenDisplay extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.outgoing_main);
OutgoingBroadcastReceiver outreciever = new OutgoingBroadcastReceiver();
String phonenumber= outreciever.getNumber();//this is coming out NULL needs to be the outgoing number
}
ありがとう、それは総意味を作る!私はアクティビティに送る前にそれをPhoneStateListnerに渡しているので、アクティビティに直接渡すことはできません。 – user1163234
私のPhonestatelistnerを内部クラスとしてBroadcastRecieverに解決しました。 – user1163234