android中的来电类型

时间:2012-05-09 10:44:32

标签: android

我想在我的应用程序中检测来电类型。我们知道来电是国内的或国际的。

2 个答案:

答案 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是来自外国的号码