1
着信/発信コールを検出して録音する予定のアプリを作成しています。 私は放送受信機を登録して、録音を開始することができましたが、停止することはできません。テレフォニマネージャを使用してBRで着信コールと発信コールを録音する
添付のBroadcastRecieverのコードです。BTWはサービスから呼び出されています。
public class IncomingCall extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
if(TelephonyManager.EXTRA_STATE_OFFHOOK.equals(state)){
String incnum = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
int day = new Date().getDate(), mont = new Date().getMonth() , yea = new Date().getYear(), hou = new Date().getHours(), min = new Date().getMinutes();
String s = ""+day+"_"+mont+"_"+yea+"_"+hou+"_"+min+"_"+incnum+"_Incoming"+".3gp";
final AudioRecorder ar = new AudioRecorder(s, context);
ar.start();
Thread th = new Thread(){
public void run(){
String stat = TelephonyManager.ACTION_PHONE_STATE_CHANGED;
while(stat == TelephonyManager.EXTRA_STATE_OFFHOOK){
stat = TelephonyManager.ACTION_PHONE_STATE_CHANGED;
}
ar.stop();
}
};
th.start();
}
}
教えてください、私はウェブ上で同様の問題についての詳細を見つけるcouldntの:BroadcastReceiverのみ10のための生活を焼成したとき: