替代READ_CALL_LOG来访问呼叫者的号码?

时间:2019-04-22 03:18:40

标签: android google-play android-permissions google-play-console caller-id

由于最近的政策更改,要获得使用Google Play的READ_CALL_LOG权限的权限非常困难。我们的应用程序在我们的应用程序中搜索传入呼叫者的电话号码,如果匹配,则显示在我们的应用程序中输入的呼叫者ID信息。因此,我们不是默认的电话应用程序,而只需要访问来电者的电话号码即可。 READ_CALL_LOG是否有其他选择来获取呼叫者的电话号码?

2 个答案:

答案 0 :(得分:0)

Android 9引入了CALL_LOG权限组,并将READ_CALL_LOG,WRITE_CALL_LOG和PROCESS_OUTGOING_CALLS权限移至该组。在以前的Android版本中,这些权限位于PHONE权限组中。

请通过此链接

https://developer.android.com/about/versions/pie/android-9.0-changes-all

答案 1 :(得分:0)

这是我如何实现的-

步骤1: 创建一个CallActivity并读取onCreate中的所有呼叫日志,并使用按钮呼叫在列表视图中显示。

步骤2: 当用户点击按钮致电时,此代码会被触发

Intent intent = new Intent(Intent.ACTION_DIAL, Uri.fromParts("tel", "1234567890", null));
context.startActivity(intent);

步骤3: 在AndroidManifest文件中对此进行更新(仅适用于新创建的活动- CallActivity

<activity
        android:name=".CallActivity"
        android:screenOrientation="portrait" >

        <intent-filter>
            <action android:name="android.intent.action.DIAL" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:mimeType="vnd.android.cursor.item/phone" />
            <data android:mimeType="vnd.android.cursor.item/person" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.DIAL" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="voicemail" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.DIAL" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <action android:name="android.intent.action.DIAL" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="tel" />
        </intent-filter>

    </activity>

您完成了。

我还能够使用CALL_READ_PERMISSION在Play商店中发布我的应用,并在Google政策表单中填写了CALLER ID应用部分。就我而言,推送演示帐户凭据需要用户身份验证。