由于最近的政策变化,很难获得在 Google Play 上使用 READ_CALL_LOG 权限的权限。我们的应用程序在我们的应用程序中搜索来电者的号码,如果匹配,则显示在我们的应用程序中输入的来电显示信息。因此,我们不是默认的电话应用程序,而只需要访问来电者的号码。是否有任何替代 READ_CALL_LOG 来获取呼叫者的号码?
问问题
1632 次
2 回答
0
在这里,我是如何实现这一目标的-
第 1 步:创建一个 CallActivity 并读取所有通话记录,onCreate
并在列表视图中显示一个按钮Call。
第 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 应用部分。在我的情况下,我需要用户身份验证才能推送演示帐户凭据。
于 2019-11-11T21:05:33.373 回答
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
于 2019-04-22T03:35:21.063 回答