[英]how do i retrieve the incoming phone call's number while ringing and store it in a variable in android?
[英]phone number from incoming call not working android
我有一個PhoneStateListener
,用於在通話結束后打開應用程序。 它工作正常,但我還需要獲取來電號碼,並且使用incomingNumber
字符串不起作用。 這是我的代碼:
public class PhoneStateManager extends PhoneStateListener{
public static Boolean usingPhone = false;
private MainActivity mainactivity;
public PhoneStateManager(MainActivity main){
mainactivity = main;
}
@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
Log.d("DEBUG", "IDLE");
if(usingPhone){
Log.d("DEBUG", "number (PSM): " + incomingNumber);
mainactivity.askQuestion(incomingNumber);
}
usingPhone = false;
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.d("DEBUG", "OFFHOOK");
usingPhone = true;
break;
case TelephonyManager.CALL_STATE_RINGING:
Log.d("DEBUG", "RINGING");
usingPhone = false;
break;
}
}
}
撥打電話時,LogCat語句會打印出以下內容:
這是我初始化PhoneStateManger的方法:
TelephonyManager tManager = (TelephonyManager)
getSystemService(Context.TELEPHONY_SERVICE);
PhoneStateManager listener = new PhoneStateManager(this);
tManager.listen(listener, PhoneStateManager.LISTEN_CALL_STATE);
我不知道為什么數字總是為空。 有任何想法嗎?
您必須將傳入號碼保存為振鈴或摘機
public class PhoneStateManager extends PhoneStateListener{
public static Boolean usingPhone = false;
private MainActivity mainactivity;
private String mIncomingNumber;
public PhoneStateManager(MainActivity main){
mainactivity = main;
}
@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
Log.d("DEBUG", "IDLE");
if(usingPhone){
Log.d("DEBUG", "number (PSM): " + mIncomingNumber);
mainactivity.askQuestion(mIncomingNumber);
}
usingPhone = false;
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.d("DEBUG", "OFFHOOK");
usingPhone = true;
break;
case TelephonyManager.CALL_STATE_RINGING:
Log.d("DEBUG", "RINGING");
mIncomingNumber = incomingNumber;
usingPhone = false;
break;
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.