gpt4 book ai didi

android - 如何在 Android SDK 2.2 上检索未接来电

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:17:59 26 4
gpt4 key购买 nike

在我的应用程序中,当来电但用户未接听时,我应该执行一些操作。

我在android.telephonyNotificationManager 中搜索过,但我还没有找到解决这个问题的方法。

有人知道如何知道手机上是否有未接来电吗?

最佳答案

这是可以查询未接来电的通话记录的代码。基本上,您必须以某种方式触发它并确保您给通话记录一些时间(应该几秒钟)来写入信息,否则如果您过早检查通话记录,您将找不到最近的通话。

final String[] projection = null;
final String selection = null;
final String[] selectionArgs = null;
final String sortOrder = android.provider.CallLog.Calls.DATE + " DESC";
Cursor cursor = null;
try{
cursor = context.getContentResolver().query(
Uri.parse("content://call_log/calls"),
projection,
selection,
selectionArgs,
sortOrder);
while (cursor.moveToNext()) {
String callLogID = cursor.getString(cursor.getColumnIndex(android.provider.CallLog.Calls._ID));
String callNumber = cursor.getString(cursor.getColumnIndex(android.provider.CallLog.Calls.NUMBER));
String callDate = cursor.getString(cursor.getColumnIndex(android.provider.CallLog.Calls.DATE));
String callType = cursor.getString(cursor.getColumnIndex(android.provider.CallLog.Calls.TYPE));
String isCallNew = cursor.getString(cursor.getColumnIndex(android.provider.CallLog.Calls.NEW));
if(Integer.parseInt(callType) == MISSED_CALL_TYPE && Integer.parseInt(isCallNew) > 0){
if (_debug) Log.v("Missed Call Found: " + callNumber);
}
}
}catch(Exception ex){
if (_debug) Log.e("ERROR: " + ex.toString());
}finally{
cursor.close();
}

我希望你觉得这很有用。

关于android - 如何在 Android SDK 2.2 上检索未接来电,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3785725/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com