ブロードキャストのイベントで電話をかけようとしています。現在、ブロードキャストレシーバーの onreceive() メソッドから別のアクティビティを呼び出しています。そのアクティビティでは、このインテントを使用しています
Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel"+num));
callIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
con.startActivity(callIntent);
問題は、起動直後に通話が切断されることです。Galaxy nexus 4.1.1でこれを試していますが、次の権限を使用しました:
<uses-permission android:name="android.permission.CALL_PHONE" />
私はアンドロイドの初心者で、どんな助けも歓迎されます。
通話が自動的に終了すると、LogCat に次のように記録されます。
ActivityManager(387): START u0 {act=android.intent.action.CALL dat=tel:xxxxxxxxxxxxx flg=0x10000000 cmp=com.android.phone/.OutgoingCallBroadcaster} from pid 6329
I/ActivityManager(387): START u0 {act=com.android.phone.SIP_SELECT_PHONE dat=tel:xxxxxxxxxxxxx flg=0x10000000 cmp=com.android.phone/.SipCallOptionHandler (has extras)} from pid 577
D/CallController(577): placeCall()... intent = Intent { act=android.intent.action.CALL dat=tel:xxxxxxxxxxxxx (has extras) }
I/AudioService(387): AudioFocus requestAudioFocus() from AudioFocus_For_Phone_Ring_And_Calls
E/audio_hw_primary(131): Entering IN_CALL state, in_call=0
E/audio_hw_primary(131): Opening modem PCMs
I/LocalDevicePlayback(6366): pause: transient=false, currentPos=-1
D/PhoneUtils(577): placeCall()... number: xxxxxxxxxxxxx, GW: null, emergency? false