[问题] Intent 拍照功能无法显示照片

楼主: DirkIsBest (小牛加油!!)   2015-07-24 18:56:15
我写了一个简单的拍照功能,然后希望在拍完照时他会显示在画面上,
可是在自订路径的情况下,照片都无法显示,
以下是我的程式码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_camera_easy);
Button buttonCamera = (Button)findViewById(R.id.button);
buttonCamera.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
Intent intent = new
Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
//设定图片的储存位置,以及档名
File tmpFile = new File(
Environment.getExternalStorageDirectory(),
"image.jpg");
outputFileUri = Uri.fromFile(tmpFile);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, 0);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent
data) {
if (resultCode == RESULT_OK) {
Bitmap bmp = BitmapFactory.decodeFile(outputFileUri.getPath());
ImageView ivTest = (ImageView)findViewById(R.id.imageView);
ivTest.setImageBitmap(bmp);
}
super.onActivityResult(requestCode, resultCode, data);
}
打印出的 outputFileUri.getPath = /storage/emulated/0/image.jpg
并附上AndroidManifest.xml的拍照相关
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
麻烦了,这困扰我一天了
作者: abccbaandy (敏)   2015-07-24 18:58:00
你确定 image.jpg 存在?
作者: fish0112 (鱼)   2015-07-25 00:05:00
手机有没有root? 没有的话有可能抓不到另外有些手机external会指到手机的external而不是sd卡至于怎么抓到更外层的external 我看了很多so文章没找到至少别人可以的我不灵..QQ
作者: ra213671 (史灵根博士)   2015-07-25 00:13:00
用sendBroadcast告诉系统照片的存在楼上的问题我也想知道 SDcard的路径我一直抓不到
作者: egaryer (egaryer)   2015-07-25 00:42:00
权限加个READ_EXTERNAL_STORAGE看看?
作者: loxyz (loxyz)   2015-07-27 09:38:00
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) 可以先改到这试试
作者: cuda (Cuda)   2015-07-27 11:48:00
可以看一下你的 layout 怎么写的吗? activity_camera_easy另外有宣告WRITE_EXTERNAL_STORAGE就隐含有READ的权限
作者: csk (:))   2015-07-27 18:04:00
会不会是 file access 的问题,file.setReadable之类的试试看
作者: VSei (Chaos)   2015-08-12 08:50:00
应该是路径取得方式的问题, Uri uri = data.getData();BitmapFactory.decodeStream(cr.openInputStream(uri))google这几个看看, intent可用,多图显示要注意memory leak.

Links booklink

Contact Us: admin [ a t ] ucptt.com