我需要从来电中获取phoneber它在Android 12设备下运行良好,使用此方法
val number = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER)
字符串
但对于 Android 12 及以上设备,(TelephonyManager.EXTRA_INCOMING_NUMBER)
数据在Intent中不可用。
清单权限没有问题我可以根据需要添加任何权限。我已在清单中添加此权限
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.WRITE_CALL_LOG" />
型
我也试过contentResolver
查询,但它给出了光标中的倒数第二个数字数据,而不是当前的来电数据。
val cancellationSignal = CancellationSignal()
val cursor = context.contentResolver.query(
CallLog.Calls.CONTENT_URI,
null,
CallLog.Calls.TYPE + " = ?",
arrayOf(CallLog.Calls.INCOMING_TYPE.toString()),
CallLog.Calls.DATE + " DESC",
cancellationSignal
)
if (cursor != null && cursor.moveToFirst()) {
val indexNumber = cursor.getColumnIndex(CallLog.Calls.NUMBER)
val number = cursor.getString(indexNumber)
print(number)
cancellationSignal.cancel()
cursor.close()
}
型
有谁知道如何找到Android 12及以上设备的号码?
1条答案
按热度按时间w3nuxt5m1#
在Call中尝试此操作。详情
字符串