由于最近的政策更改,要获得使用Google Play的READ_CALL_LOG权限的权限非常困难。我们的应用程序在我们的应用程序中搜索传入呼叫者的电话号码,如果匹配,则显示在我们的应用程序中输入的呼叫者ID信息。因此,我们不是默认的电话应用程序,而只需要访问来电者的电话号码即可。 READ_CALL_LOG是否有其他选择来获取呼叫者的电话号码?
答案 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应用部分。就我而言,推送演示帐户凭据需要用户身份验证。