游戏技术文章

android红米等关于读取本地文件夹图片获取路径的问题的解决

时间:2017-4-19 21:52:39  作者:棋牌资源网  来源:棋牌资源网  查看:10262  评论:0
内容摘要:在Android开发中,有从本地文件夹中读取图片的功能,使用一下代码打开图片选择列表:1234Intent intent = new Intent();  intent.setAction(Intent.ACTION_P...
在Android开发中,有从本地文件夹中读取图片的功能,使用一下代码打开图片选择列表:
1
2
3
4
Intent intent = new Intent();  
intent.setAction(Intent.ACTION_PICK);  
intent.setType("image/*");  
startActivityForResult(intent, RESULT_LOAD_IMAGE);  

当我们选择一个图片以后,在onActivityResult中,我们用一下代码获取选择的图片路径:

1
2
Uri uri = data.getData();  
String path = uri.getPath(); 

在这段代码中,我测试发现,在我的Nexus 4、魅族、模拟器上测试没有什么问题,但是在红米,华为等手机上测试,发现得到的path这个路径值,不是我们图片在手机上的路径,暂时还不明白是个什么值,如果根据这个path去获取图片会得到一个null值,不知为什么???

解决方案:在onActivityResult中,按照如下的方式,就可以在所有的手机上使用,不会出问题,亲测:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if (data != null) {    
    Uri uri = data.getData();    
    if (!TextUtils.isEmpty(uri.getAuthority())) {    
        Cursor cursor = getContentResolver().query(uri,  
                new String[] { MediaStore.Images.Media.DATA },nullnullnull);    
        if (null == cursor) {    
            Toast.makeText(this"图片没找到", Toast.LENGTH_SHORT).show();    
            return;    
        }    
        cursor.moveToFirst();    
        path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));  
        cursor.close();    
    else {    
        path = uri.getPath();    
    }    
}else{    
    Toast.makeText(this"图片没找到", Toast.LENGTH_SHORT).show();    
    return;    
}   

标签:android红米等关于读取本地文件夹图片获取路径的问题的解决 

欢迎加入VIP,【VIP售价:只要288元永久VIP会员】畅享商业棋牌游戏程序下载,点击开通!

下载说明


☉本站所有源码和资源均由站长亲自测试-绝对保证都可以架设,运营!
☉如源码和资源有损坏或所有链接均不能下载,请告知管理员,

☉本站软件和源码大部分为站长独资,资源购买和收集,放心下载!

☉唯一站长QQ:1004003180  [人格担保-本站注重诚信!]

☉购买建议E-mail:1004003180@qq.com   源码收购 E-mail:1004003180@qq.com    

☉本站文件解压密码  【文章内都自带解压密码,每个密码不同!】


本站提供的所有源码,均来源站长提供,仅学习交流 浙ICP备09009969号

由此产生不良后果和法律责任与本站无关,如果侵犯了您的版权,请来信告知 1004003180@qq.com 将及时更正和删除! 

Copyright © 2008-2024 棋牌资源网,你身边的棋牌资源下载站    All Rights Reserved