ContentProvider系统Uri

Uri

获取手机联系人
权限:
<uses-permission android:name="android.permission.READ_CONTACTS" />
uri: ContactsContract.CommonDataKinds.Phone.CONTENT_URI
字段:ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME:姓名
      ContactsContract.CommonDataKinds.Phone.NUMBER:电话

获取手机短信
权限:
 <uses-permission android:name="android.permission.READ_SMS" />
uri: Telephony.Sms.CONTENT_URI
字段:Telephony.Sms.ADDRESS 地址 
      Telephony.Sms.BODY 内容

获取音频 
 <!-- 写外部存储权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!-- 读外部存储权限 -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
uri:MediaStore.Audio.Media.EXTERNAL_CONTENT_URI 
字段:MediaStore.Audio.Media.TITLE歌名 
      MediaStore.Audio.Media.ARTIST歌手 
      MediaStore.Audio.Media.DURATION总时长 
      MediaStore.Audio.Media.DATA地址

获取视频
 <!-- 写外部存储权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!-- 读外部存储权限 -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
uri:MediaStore.Video.Media.EXTERNAL_CONTENT_URI

字段:MediaStore.Video.Media.TITLE歌名 
      MediaStore.Video.Media.ARTIST歌手 
      MediaStore.Video.Media.DURATION总时长 
      MediaStore.Video.Media.DATA地址

获取图库:
 <!-- 写外部存储权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!-- 读外部存储权限 -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
uri:MediaStore.Images.Media.EXTERNAL_CONTENT_URI 
字段:MediaStore.Images.Media.TITLE;图片名称
      MediaStore.Images.Media.SIZE;大小
      MediaStore.Images.Media.DATA;地址
      
获取通话记录:
<uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
<uses-permission android:name="android.permission.READ_CALL_LOG"/>
uri:CallLog.Calls.CONTENT_URI
字段:CallLog.Calls.NUMBER:电话号码
 	 CallLog.Calls.DATE:时间
 	 CallLog.Calls.TYPE:类型(1.拔打 2.接听  3.错过)
  	 CallLog.Calls.DURATION:时长 
广播接收者
1.权限
<!-- 短信服务权限 -->
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
action:android.provider.Telephony.SMS_RECEIVED"

打电话权限
    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"></uses-permission>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
action:android.intent.action.NEW_OUTGOING_CALL
android.intent.action.BOOT_COMPLETED

读取短信

uri:Telephony.Sms.CONTENT_URI
字段:
Telephony.Sms.ADDRESS
Telephony.Sms.BODY
权限:

<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS"/>   

代码:

//加动态权限
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
    public void readMessage(){
        Uri uri = Telephony.Sms.CONTENT_URI;
        //Telephony.Sms.ADDRESS 地址 Telephony.Sms.BODY 内容
        String[] strings = {Telephony.Sms.ADDRESS,Telephony.Sms.BODY};
        ContentResolver resolver = getContentResolver();
        Cursor cursor = resolver.query(uri,strings,null,null,null);
        while (cursor.moveToNext()){
            String address = cursor.getString(cursor.getColumnIndex(Telephony.Sms.ADDRESS));
            String body = cursor.getString(cursor.getColumnIndex(Telephony.Sms.BODY));
            Log.d("amy",address+"-"+body);
        }
    }

更新通话记录

ContentResolver resolver = getContentResolver();
        Uri uri = CallLog.Calls.CONTENT_URI;
        ContentValues values = new ContentValues();
        values.put("number", "120");

        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_CALL_LOG) != PackageManager.PERMISSION_GRANTED) {
            return;
        }
        resolver.update(uri,values,CallLog.Calls.NUMBER+"=?",new String[]{"110"});

读取图片

Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
        String[] columns = {MediaStore.Images.Media.TITLE, MediaStore.Images.Media.SIZE, MediaStore.Images.Media.DATA};
        Cursor cursor = resolver.query(uri, columns, null, null, null);
        while (cursor.moveToNext()) {
            String title = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.TITLE));
            Log.d("amy", title);
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值