调用 手机 图片工具的 问题

cjtgxq1 2010-11-24 02:51:42
各位大侠,小弟想打开手机本身的图片工具浏览图片,当选择某一张图片时,返回其路径,文件名,并显示,现在基本完成,就是路径好像不对,我选择的是SD卡下的图片,但是路径显示content://media/external/images/media/215,
content://media/external/images/media/218,文件名也得不到,请各位大大指点下,小弟代码如下

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.test);

tv1 = (TextView) findViewById(R.id.one);
tv2 = (TextView) findViewById(R.id.two);

setuser_headimg = (ImageView)findViewById(R.id.image);//头像

Button btn = (Button)findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT); //"android.intent.action.GET_CONTENT"
String IMAGE_UNSPECIFIED = "image/*";
innerIntent.addCategory(Intent.CATEGORY_OPENABLE);
innerIntent.setType(IMAGE_UNSPECIFIED); //查看类型 String IMAGE_UNSPECIFIED = "image/*"; 详细的类型在 com.google.android.mms.ContentType 中
Intent wrapperIntent = Intent.createChooser(innerIntent, null);
int requestCode = 1;
startActivityForResult(wrapperIntent, 1);
}
});
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
Log.i("requestCode", "requestCode"+requestCode+" resultCode:"+resultCode);
if (requestCode==0){
if (resultCode==RESULT_OK) {
setResult(RESULT_OK);
this.finish();
}
}
if(requestCode==1){
Uri imageUri = data.getData();
tv1.setText(imageUri.toString());
InputStream instream;
try {
instream = getContentResolver().openInputStream(imageUri);
Bitmap image = BitmapFactory.decodeStream(instream);
setuser_headimg.setImageBitmap(image);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
...全文
133 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cjtgxq1 2010-11-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 showtang 的回复:]
content://media/external/images/media/218
是图片的URI路径,通过该路径可以得到一张图片。
你可以把content://media/external/images/media/218 转成URI,通过
managedQuery(uri, projection, selection, selectionArgs, sortOrder)
执行查询得到图……
[/Quote]非常感谢,已经成功了,感谢大师抽出时间指点小弟
cjtgxq1 2010-11-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 showtang 的回复:]
content://media/external/images/media/218
是图片的URI路径,通过该路径可以得到一张图片。
你可以把content://media/external/images/media/218 转成URI,通过
managedQuery(uri, projection, selection, selectionArgs, sortOrder)
执行查询得到图……
[/Quote]怎样把content://media/external/images/media/218 转换成这样的路径呢?/sdcard/Galaxy.jpg,
纠结的木棉花 2010-11-24
  • 打赏
  • 举报
回复
根据你的代码导进,出现强制关闭..
ShowTang 2010-11-24
  • 打赏
  • 举报
回复
content://media/external/images/media/218
是图片的URI路径,通过该路径可以得到一张图片。
你可以把content://media/external/images/media/218 转成URI,通过
managedQuery(uri, projection, selection, selectionArgs, sortOrder)
执行查询得到图片的名称和文件路径。

80,488

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧