概述
我一直在BroadcastReceiver中使用以下代码来获取
来电的来电显示:
@Override
public void onReceive(Context aContext, Intent aIntent) {
String action = aIntent.getAction();
if (action==null) return;
if (!action.equals("android.intent.action.PHONE_STATE")) return;
String curState = aIntent.getStringExtra(TelephonyManager.EXTRA_STATE);
if ((TelephonyManager.EXTRA_STATE_RINGING.equals(curState))
&&(TelephonyManager.EXTRA_STATE_IDLE.equals(oldState)))){
String incNumber = aIntent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
// do something here
}
oldState=curState;
}
不幸的是,这已经停止在Android 9.0(API 28)中运行.进一步来说,
aIntent.getStringExtra(EXTRA_INCOMING_NUMBER)始终返回null.在Android版本< = API 27中,一切正常
我还在清单文件中添加了READ_PHONE_STATE和READ_CALL_LOG权限.
有任何想法吗?还有其他人遇到同样的问题吗?
在此先感谢您的帮助.
最后
以上就是真实皮皮虾为你收集整理的android来电显示,在Android 9中获取来电显示的全部内容,希望文章能够帮你解决android来电显示,在Android 9中获取来电显示所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复