cursor-Android获取未接来电失败

问题描述

Android获取未接来电失败

通过点击按钮获取为借来电的信息,并以对话框形式显示未接来电的号码。虚拟机中测试通过,但在真机上运行时会直接强制退出。
代码:

@Override
            public void onClick(View v) {
                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 = 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) == (CallLog.Calls.MISSED_TYPE)
                                && Integer.parseInt(isCallNew) > 0) {
                            Toast.makeText(getApplication(),
                                    "Missed Call Found: " + callNumber,
                                    Toast.LENGTH_SHORT).show();
                        }
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                finally {
                    cursor.close();
                }
            }

权限列表中添加的权限为:

时间: 2024-11-02 14:18:57

cursor-Android获取未接来电失败的相关文章

Android实现获取未接来电和未读短信数量的方法_Android

本文实例展示了Android实现获取未接来电和未读短信数量的方法,在Android程序开发中非常常见,是非常实用的功能,现分享给大家供大家参考.具体如下: 一.未读短信  首先注册Observer,当有新短信或彩信来的时候会调用 onChange方法,我们可以在onChange方法中去获取未读短信和彩信,然后做一些UI上的处理! 具体功能代码如下: private ContentObserver newMmsContentObserver = new ContentObserver(new Ha

Android实现获取未接来电和未读短信数量的方法

本文实例展示了Android实现获取未接来电和未读短信数量的方法,在Android程序开发中非常常见,是非常实用的功能,现分享给大家供大家参考.具体如下: 一.未读短信   首先注册Observer,当有新短信或彩信来的时候会调用 onChange方法,我们可以在onChange方法中去获取未读短信和彩信,然后做一些UI上的处理! 具体功能代码如下: private ContentObserver newMmsContentObserver = new ContentObserver(new H

Android实现判断手机未接来电及处理方法_Android

通常来说Android手机没有未接来电的监听器,如果要实现对未接来电的处理,则需要自己编写程序来实现.本文所述程序实例即为Android实现判断手机未接来电及处理方法.主要分为四个步骤来进行: 1.编写CallListener,处理手机状态变更监听,当状态改变时进行处理: package rbase.app.smshelpmate.call.listener; import java.text.MessageFormat; import rbase.app.smshelpmate.Config;

Android实现判断手机未接来电及处理方法

通常来说Android手机没有未接来电的监听器,如果要实现对未接来电的处理,则需要自己编写程序来实现.本文所述程序实例即为Android实现判断手机未接来电及处理方法.主要分为四个步骤来进行: 1.编写CallListener,处理手机状态变更监听,当状态改变时进行处理: package rbase.app.smshelpmate.call.listener; import java.text.MessageFormat; import rbase.app.smshelpmate.Config;

小米手机未接来电提醒设置教程

给各位小米手机的使用者们来详细的解析分享一下未接来电提醒的设置教程. 教程分享: 1.打开小米手机拨号界面,点左下角的菜单按钮. 2.点击[电话设置] 3.下拉至底部,点击[高级设置] 4.点击[未接来电提醒次数],然后设置你想要提醒的次数. 这样如果你有了未接来电,每隔5分钟就会进行一次提醒,这样即便第一时间没有接到电话,也不会耽误事情太久了. 好了,以上的信息就是小编给各位小米手机的使用者们带来的详细的未接来电提醒的设置教程解析分享的全部内容了,各位看到这里的使用者们,小编相信你们现在那是非

Android中给图标加上数字(用于未接来电等等功能的提醒)

在我们开发一些如短消息.应用商店等应用时,会考虑在短消息的图标上加上未读短信的数量,在应用商店上加上可以升级的应用数量,这样不占太大空间还能达到提示的目的. 本节就以一个展示手机内联系人数量的例子来演示怎么在一个图标的上面加上数字的例子,也就是一个数字overlay..做过google map开发的知道overlay这个东西.  一:你可学到 手机内依据Uri查看联系人 权限的添加 获取手机内任意一款应用的应用图标 对图形的处理,如复制,为图片加上覆盖层--数字. 使用RemoteView自定义

Android获取手机通话记录的方法_Android

Android如何获取手机通话记录,本文为大家揭晓. 获取手机通话记录流程: 1. 获取ContentResolver; ContentResolver resolver = getContentResolver(); 2.resolver.query(*); 需要传入通话记录的URI:CallLog.Calls.CONTENT_URI 3.对查询得到的Cursor进行数据获取. 主要代码如下: MainActivity.java package com.noonecode.contentres

Android获取和读取短信验证码的实现方法

现如今,验证码在Android的客户端还是非常普遍的.通过手机账号和验证码直接去注册应用账户的信息.很多应用都以这种方式来完成注册.简单的介绍一下吧. Android获取短信验证码还是比较简单的,通过Mob官网提供的ShareSDK,调用其中内部的方法,就可以获取到短信的验证码了.提供一下Mob的官网地址.http://www.mob.com/#/在官网上注册相关的信息之后,下载相关的jar包和.so文件就可以实现获取短信验证码了(2.0之前的版本都需要下载jar包和 .so文件,而现在的2.2

Android获取手机联系人的方法

Android 获取系统联系人信息的实例 一.获取手机联系人姓名及手机号 //跳转到系统联系人应用 Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); try { startActivityForResult(intent, Contacts1RequestCode); } catch (Exception e) { LogManager.e("打开联系人信息失败"