Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何获得来电号码?[安卓]_Android_Broadcastreceiver_User Permissions - Fatal编程技术网

Android 如何获得来电号码?[安卓]

Android 如何获得来电号码?[安卓],android,broadcastreceiver,user-permissions,Android,Broadcastreceiver,User Permissions,我试图用Android获取来电号码,但返回空 我在清单中添加用户权限: <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <receiver android:name=".ServiceReceiver" > <intent-filter> <action android:name="android.intent.action.PHONE_STATE" />

我试图用Android获取来电号码,但返回空

我在清单中添加用户权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<receiver android:name=".ServiceReceiver" >
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>

但是不起作用,你知道吗?

请注意,你需要获得阅读通话记录的权限。如果你想获得收入号码,你可以查看文档

字符串:呼叫电话号码。若应用程序并没有READ_CALL_LOG权限或运营商权限,请参阅TelephonymanagerAscarrierPrivileges,一个空字符串将作为参数传递

public class ServiceReceiver extends BroadcastReceiver {

@Override
public void onReceive(final Context context, Intent intent) {
TelephonyManager telephony = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
telephony.listen(new PhoneStateListener(){
    @Override
    public void onCallStateChanged(int state, String incomingNumber) {
        super.onCallStateChanged(state, incomingNumber);
        System.out.println("incomingNumber : "+incomingNumber);
    }
 },PhoneStateListener.LISTEN_CALL_STATE);
}