ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第一行代码学习记录(contentprovider)

2022-04-01 17:33:10  阅读:190  来源: 互联网

标签:第一行 permission 提供 代码 grantResults 权限 requestCode 参数 contentprovider


获取权限

危险权限只能动态请求

点击查看代码
	if(ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
            ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},1);
	@Override
	public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        switch (requestCode) {
            case 1:
                if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                   pic =  fileManager.getImg();
                } else {
                    Toast.makeText(this, "You denied the permission", Toast.LENGTH_SHORT).show();
                }
                break;
            default:
        }
    }
结果的函数只需要3个参数,分别是我们发起请求的时候写的请求代码,申请的权限,已经同意的权限。

内容提供器

一种是使用现有的内容提供器(我们可以在程序里面的获取到的),来读取别的应用的操作和数据,一种是自己创建自己程序的的内容提供器,来分享自己程序的数据和操作。

使用现有的内容提供器

利用content-resolver提供的方法。要获得该类的实体对象,可以通过context的getContentResolver,这个实体对象下面有crud四种方法,查询主要用query获取cusor(有点像光标)以后进行查询。

image
有5个参数,第一个是uri参数,content:xxx直接调用mediastore这个静态类下面的就可以了,他已经帮我们把uri转化成了这种类型的参数,image
占位符是?号

创建自己程序的内容提供器

extends ContentProvider然后在进行重写方法就行了
最重要的是™要在manifest里面进行注册
image

标签:第一行,permission,提供,代码,grantResults,权限,requestCode,参数,contentprovider
来源: https://www.cnblogs.com/wwwapril/p/16088029.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有