Android - 记录访问权限

时间:2013-04-15 17:53:17

标签: android security logging

我已经阅读了几次,我们手机上的某些应用程序可以在日志中包含有关例如:通话记录的信息。我想编写一个应用程序来获取此日志并使用此信息。但问题是我该怎么做? Logcat - Android日志系统提供了一种收集和查看系统调试输出的机制,所以我认为这不是我想要的。也许你可以建议我,我如何直接从日志中获取信息?

1 个答案:

答案 0 :(得分:1)

您要查找的内容不在常见的日志文件中,而是在所谓的content providers

示例:

static public List<String> getMissedCalls(Context context)
    {
            final String queryCond = Calls.TYPE + " = " + Calls.MISSED_TYPE + " and " + Calls.NEW + " = 1";

            List<String> phoneNumbers = new ArrayList<String>();
            Cursor cur = context.getContentResolver().query(
                            CallLog.Calls.CONTENT_URI,
                            new String[]{Calls._ID, Calls.NUMBER},
                            queryCond,
                            null,
                            null
                            );
            //int count=cur.getCount(); 
            //Log.d(TAG, "missed calls = " + count);
            while(cur.moveToNext())
            {
                    String phoneNumber = cur.getString(cur
                .getColumnIndexOrThrow(Calls.NUMBER));
                    //Log.d(TAG, "missed call = " + phoneNumber);
                    phoneNumbers.add(phoneNumber);
            }
            cur.close();
            return phoneNumbers;
    }