我写了一个简单的拍照功能,然后希望在拍完照时他会显示在画面上,
可是在自订路径的情况下,照片都无法显示,
以下是我的程式码:
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" />
麻烦了,这困扰我一天了
手机有没有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:00Environment.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.