标签:第一行 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:
}
}
内容提供器
一种是使用现有的内容提供器(我们可以在程序里面的获取到的),来读取别的应用的操作和数据,一种是自己创建自己程序的的内容提供器,来分享自己程序的数据和操作。
使用现有的内容提供器
利用content-resolver提供的方法。要获得该类的实体对象,可以通过context的getContentResolver,这个实体对象下面有crud四种方法,查询主要用query获取cusor(有点像光标)以后进行查询。
有5个参数,第一个是uri参数,content:xxx直接调用mediastore这个静态类下面的就可以了,他已经帮我们把uri转化成了这种类型的参数,
占位符是?号
创建自己程序的内容提供器
extends ContentProvider
然后在进行重写方法就行了
最重要的是™要在manifest里面进行注册
标签:第一行,permission,提供,代码,grantResults,权限,requestCode,参数,contentprovider 来源: https://www.cnblogs.com/wwwapril/p/16088029.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。