如何在 android 中检测拨出电话
How to detect an Outgoing call in android
只是我想知道是否有代码可以检测是否正在使用默认 android phone 应用程序呼叫某人..
这是我的代码,当然我需要更多提示
if(intent.getAction().equals("android.intent.action.PHONE_STATE")){
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
if(intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
call = true;
Log.v("OUTGOING", String.valueOf(call));
//Do-NOTHING
} else {
if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)){
if (call == false) {
Log.v("OUTGOING", String.valueOf(call));
Log.v("CALL", "Call from " + numberPhone);
numberPhone = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
}
}
}
}
public class OutgoingReceiver extends BroadcastReceiver {
public OutgoingReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Toast.makeText(ctx,
"Outgoing: "+number,
Toast.LENGTH_LONG).show();
}
并设置接收器
<receiver android:name=".OutgoingCallReceiver" >
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
添加权限
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
您必须注册意图
IntentFilter intentFilter = new IntentFilter(Intent.ACTION_NEW_OUTGOING_CALL);
ctx.registerReceiver(outgoingReceiver, intentFilter);
只是我想知道是否有代码可以检测是否正在使用默认 android phone 应用程序呼叫某人.. 这是我的代码,当然我需要更多提示
if(intent.getAction().equals("android.intent.action.PHONE_STATE")){
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
if(intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
call = true;
Log.v("OUTGOING", String.valueOf(call));
//Do-NOTHING
} else {
if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)){
if (call == false) {
Log.v("OUTGOING", String.valueOf(call));
Log.v("CALL", "Call from " + numberPhone);
numberPhone = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
}
}
}
}
public class OutgoingReceiver extends BroadcastReceiver {
public OutgoingReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Toast.makeText(ctx,
"Outgoing: "+number,
Toast.LENGTH_LONG).show();
}
并设置接收器
<receiver android:name=".OutgoingCallReceiver" >
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
添加权限
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
您必须注册意图
IntentFilter intentFilter = new IntentFilter(Intent.ACTION_NEW_OUTGOING_CALL);
ctx.registerReceiver(outgoingReceiver, intentFilter);