我想在我的应用程序中检测来电类型。我们知道来电是国内的或国际的。
答案 0 :(得分:1)
嘿,这就是在Android应用程序中检测传入或传出或未接来电类型。 尝试这个代码,这将肯定会帮助你。我将进一步回答你在区分国际和国内电话的问题。
Cursor cur = managedQuery(CallLog.Calls.CONTENT_URI, new String[] {
CallLog.Calls._ID, CallLog.Calls.CACHED_NAME,
CallLog.Calls.NUMBER, CallLog.Calls.TYPE, CallLog.Calls.DATE },
null, null, CallLog.Calls.DATE + " DESC");
int typeIndex = cursor.getColumnIndex(CallLog.Calls.TYPE);
// Type of call retrieved from the cursor.
int type = cursor.getInt(typeIndex);
switch (type) {
case CallLog.Calls.INCOMING_TYPE:
//在此处编写代码
break;
case CallLog.Calls.MISSED_TYPE:
break;
case CallLog.Calls.OUTGOING_TYPE:
break;
default:
break;
}
答案 1 :(得分:0)
您可以尝试获取传入的电话号码并获取前几位数字。例如:+ 38977xxxxxx,其中+389是来自外国的号码