私は電話機の呼び出しが停止したときにアクティビティを開始しようとすると、強制的に強制終了します。あなたが活動または別の方法を開始するには、この場合のコンテキストを取得する方法を私に言うことができる場合、私は嬉しくなるので、ここで私のブロードキャストレシーバは開始アクティビティ
public class Incoming extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
MyPhoneStateListener phoneListener=new MyPhoneStateListener();
TelephonyManager telephony = (TelephonyManager)
arg0.getSystemService(Context.TELEPHONY_SERVICE);
phoneListener.context = arg0;
telephony.listen(phoneListener,PhoneStateListener.LISTEN_CALL_STATE);
}
}
をだと、これは活動
public class MyPhoneStateListener extends PhoneStateListener {
int prevstate;
public void onCallStateChanged(int state,String incomingNumber){
if(prevstate==TelephonyManager.CALL_STATE_OFFHOOK && state == TelephonyManager.CALL_STATE_IDLE){
Log.i("PARm","Here the activity should start");
}
else if(prevstate==TelephonyManager.CALL_STATE_RINGING && state == TelephonyManager.CALL_STATE_IDLE){
Log.i("PARM","Here the activity should start");
}
switch(state){
case TelephonyManager.CALL_STATE_IDLE:
Log.d("DECallNoteActivity.get getContext();BUG", "IDLE");
prevstate = state;
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.d("DEBUG", "OFFHOOK");
prevstate = state;
break;
case TelephonyManager.CALL_STATE_RINGING:
Log.d("DEBUG", "RINGING");
prevstate = state;
break;
}
}
}
を開始する必要がありますそれを始める方法。
ありがとうございます。
すべてのlogcatエラーを投稿してください。 – Sam
あなたのBroadcastReceiverはどのように設定されていますか?マニフェストのタグを使用するか、Context.registerReceiver()を使用しますか? –