【发布时间】:2019-03-01 06:00:02
【问题描述】:
我正在尝试使用 android studio 上的广播接收器获取来电信息。 以下是我尝试过的方法:
<receiver android:name=".receivers.IncomingCalls">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
我尝试过这个接收者的意图:
方法一:
incnumber=intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
方法二:
final String state1 = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
telephony.listen(new PhoneStateListener(){
@Override
public void onCallStateChanged(int state, final String incomingNumber) {
super.onCallStateChanged(state, incomingNumber);
incnumber=incomingNumber;
}
},PhoneStateListener.LISTEN_CALL_STATE);
方法三:
incnumber=intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
这三个方法都返回空的incnumber。
顺便说一句,我正在android pie上运行这个项目,请帮帮我。
【问题讨论】:
-
除了 pie 之外的所有其他版本都可以正常工作吗?
-
我认为不会,我会尽快恢复
-
ok..你添加这个权限了吗
-
好像只做馅饼,奥利奥可以用
-
是的,我已经做到了
标签: android broadcastreceiver telephonymanager