访问呼叫者号码的 READ_CALL_LOG 的替代方案?
Posted
技术标签:
【中文标题】访问呼叫者号码的 READ_CALL_LOG 的替代方案?【英文标题】:Alternatives to READ_CALL_LOG for accessing a caller's number? 【发布时间】:2019-09-11 07:29:57 【问题描述】:由于最近的政策变化,很难获得在 Google Play 上使用 READ_CALL_LOG 权限的权限。我们的应用程序在我们的应用程序中搜索来电者的号码,如果匹配,则显示在我们的应用程序中输入的来电显示信息。因此,我们不是默认的电话应用程序,而只需要访问来电者的号码。 READ_CALL_LOG 是否有其他方法可以获取来电者的号码?
【问题讨论】:
不,这是您需要的权限。 你找到解决这个问题的办法了吗? 我也在寻找答案。您是否尝试过使用默认的通话/短信应用? 【参考方案1】:我是如何做到这一点的 -
第 1 步:
创建了一个 CallActivity 并读取了onCreate
中的所有通话记录,并在列表视图中显示了一个按钮Call。
第 2 步: 当用户点击按钮 Call 时,此代码会被触发
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 应用部分。在我的情况下,我需要用户身份验证才能推送演示帐户凭据。
【讨论】:
【参考方案2】: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
【讨论】:
以上是关于访问呼叫者号码的 READ_CALL_LOG 的替代方案?的主要内容,如果未能解决你的问题,请参考以下文章