Java Android中的呼叫方向
我想确定我的应用程序上的呼叫方向。当我在我的真实设备上运行应用程序时,在LogCat下拨打的是一个传出的电话,方向显示为传出:(已拨号码),我可以选择其中的一个 但当我接到来电时,我仍然会收到这个传出:(传入号码) 这可能是什么原因?我试图交换我的代码,看看它会带来什么变化,但还是没有运气 有人可能经历过同样的事情,或者知道问题出在哪里 这是我的代码:Java Android中的呼叫方向,java,android,Java,Android,我想确定我的应用程序上的呼叫方向。当我在我的真实设备上运行应用程序时,在LogCat下拨打的是一个传出的电话,方向显示为传出:(已拨号码),我可以选择其中的一个 但当我接到来电时,我仍然会收到这个传出:(传入号码) 这可能是什么原因?我试图交换我的代码,看看它会带来什么变化,但还是没有运气 有人可能经历过同样的事情,或者知道问题出在哪里 这是我的代码: @Override public int onStartCommand(Intent intent, int flags,
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
if (state == null) {
// outgoing call
String number = intent.getStringExtra(intent.EXTRA_PHONE_NUMBER);
Log.i("TAG", "OUTGOING: " + phoneNumber);
//String direction = number;
}
else if (state.equals(TelephonyManager.EXTRA_STATE_RINGING))
{
// incoming call
String number = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
Log.i("TAG", "INCOMING: " + phoneNumber);
String direction = number;
}
我尝试在
stringnumber=intent.getStringExtra(intent.EXTRA\u电话号码)的位置交换代码
toString number=intent.getStringExtra(TelephonyManager.EXTRA\u传入\u编号);在我的else if语句之后,更改
String number=intent.getStringExtra(TelephonyManager.EXTRA\u INCOMING\u number)to
String number=intent.getStringExtra(intent.EXTRA_电话号码);`看看它会带来什么变化,但还是没有运气
@凌驾
公共int onStartCommand(Intent Intent、int标志、int startId){
我修复了我的问题,只需将它添加到我的PhoneReceiver类中
//my declaration
public static String CALL_DIRECTION;
public static String phoneNumber;
else if (extraState.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
if (phoneNumber == null)
phoneNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
CALL_DIRECTION = "INCOMING";
Intent myIntent = new Intent(context, RecordService.class); myIntent.putExtra("commandType",FixedContants.STATE_INCOMING_NUMBER);
myIntent.putExtra("phoneNumber",
phoneNumber);
CALL_DIRECTION = "OUTGOING";
这就解决了我的问题。什么原因使传入呼叫在传出呼叫上?当我接到呼叫时,在这种情况下,如果我的LogCat上的传入将是传入:null。
//my declaration
public static String CALL_DIRECTION;
public static String phoneNumber;
else if (extraState.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
if (phoneNumber == null)
phoneNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
CALL_DIRECTION = "INCOMING";
Intent myIntent = new Intent(context, RecordService.class); myIntent.putExtra("commandType",FixedContants.STATE_INCOMING_NUMBER);
myIntent.putExtra("phoneNumber",
phoneNumber);
CALL_DIRECTION = "OUTGOING";