相关疑难解决方法(0)

如何在数据文件夹中将相机结果作为uri?

我正在创建一个应用程序,我想在其中捕获图像,然后我想将该图像作为附件发送到电子邮件中.

我正在使用android.provider.MediaStore.ACTION_IMAGE_CAPTUREintent动作打开相机,我将文件的Uri作为参数EXTRA_OUTPUT传递给图像以将图像恢复到文件中.这是完美的工作,如果我使用external storage urias作为a 我能够获取捕获的图像, EXTRA_OUTPUT但如果我使用数据文件夹uri它不工作,相机没有关闭,它的所有按钮都不工作.

这是我在外部存储目录中获取结果的代码

Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
File out = Environment.getExternalStorageDirectory();
out = new File(out, imagename);
i.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(out));
startActivityForResult(i, CAMERA_RESULT);
Run Code Online (Sandbox Code Playgroud)

此代码用于获取数据文件夹中的图像

Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
File out = getFilesDir();
out = new File(out, MyPharmacyOptions.PRESCRIPTION_IMAGE_NAME);
i.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(out));
startActivityForResult(i, CAMERA_RESULT);
Run Code Online (Sandbox Code Playgroud)

我知道第三个应用程序无法访问数据文件夹,因此可能会导致问题,因此我创建了一个内容提供程序来共享该文件.

这是我的内容提供课程

public class MyContentProvider extends ContentProvider {
    private static final String Tag = RingtonContentProvider.class.getName();
    public static final Uri CONTENT_URI = Uri
            .parse("content://x.y.z/");
    private static final HashMap<String, …
Run Code Online (Sandbox Code Playgroud)

android android-contentprovider android-camera

65
推荐指数
3
解决办法
8万
查看次数

照片捕获Intent仅在Samsung手机上导致NullPointerException

照片捕获仅在三星手机上Intent造成NullPointerException.

实施如下.

final Button capture = (Button)findViewById(R.id.capture_button);
capture.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);

    }
});


protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
    if (requestCode == CAMERA_PIC_REQUEST) {  

        Bitmap thumbnail = (Bitmap)data.getExtras().get("data");
        ImageView image = (ImageView)findViewById(R.id.photoResultView);
        image.setImageBitmap(thumbnail);
    }
}
Run Code Online (Sandbox Code Playgroud)

camera android nullpointerexception

11
推荐指数
1
解决办法
2万
查看次数

Android 5.1.1默认摄像头在捕获图像后返回onActivityResult中的空意图

我有以下代码请求用户从照片应用程序中选择图像或通过相机应用程序捕获图像:

    // Camera
    final List<Intent> cameraIntents = new ArrayList<Intent>();
    final Intent captureIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    final PackageManager packageManager = fragment.getActivity().getPackageManager();
    final List<ResolveInfo> listCam = packageManager.queryIntentActivities(captureIntent, 0);
    for(ResolveInfo res : listCam) {
        final String packageName = res.activityInfo.packageName;
        final Intent intent = new Intent(captureIntent);
        intent.setComponent(new ComponentName(res.activityInfo.packageName, res.activityInfo.name));
        intent.setPackage(packageName);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
        cameraIntents.add(intent);
    }

    // Filesystem.
    final Intent galleryIntent = new Intent();
    galleryIntent.setType("image/*");
    galleryIntent.setAction(Intent.ACTION_GET_CONTENT);

    // Chooser of filesystem options.
    final Intent chooserIntent = Intent.createChooser(galleryIntent, "Select Source");

    // Add the camera options.
    chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, cameraIntents.toArray(new Parcelable[]{})); …
Run Code Online (Sandbox Code Playgroud)

camera android android-intent android-camera-intent

10
推荐指数
1
解决办法
2710
查看次数

在活动结果相机意图在三星s4中返回null


在此先感谢您的帮助.这是我在创建第一个应用程序时遇到的问题.

我正在制作应用程序,其中用户可以选择从图库或相机拍摄图像,当从图库导入图像时,应用程序正在按需工作,但是当从相机拍摄图像时intent返回null.

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(cameraIntent,YOUR_SELECT_PICTURE_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)

camera android android-intent

5
推荐指数
1
解决办法
608
查看次数

onActivityResult 返回 Intent data.getData(); 始终为 Null 仅在 Marshmallow 和 Lollipop 中

阅读我的全部代码。除了Marshmallow和之外,它在每部手机上都能完美运行Lollipop。In Marshmallowand Lollipopphone Only 问题是只有在Picture Captured 的情况下才会data.getData()返回。如果我捕获视频,它工作正常。我有 4 个案例 -null

  1. 从图库中选择图片并在Imageview- 工作正常中显示其缩略图。

  2. 从相机捕获图片并在中显示其缩略图Imageview-在和 中不起作用MarshmallowLollipop

  3. 从图库中选择视频并在Imageview- 工作正常中显示其缩略图。

  4. 3.Capturing Video from Camera 并在Imageview- Working Fine 中显示其缩略图。

现在有很多解决方案,但它们看起来都不令人满意,如果代码在视频捕获的情况下工作正常,那么为什么它不适用于图像捕获?这是错误还是我在某处做错了?

这是我的代码。我评论了发生崩溃的一行-

 @Override
      protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      int THUMBSIZE = 120;
      switch (requestCode){


        case RESULT_LOAD_IMAGE:


            if (resultCode==RESULT_OK){
                String column_Name= MediaStore.Images.Media.DATA;
                String picturePath=getPath(column_Name,data.getData());
                Bitmap …
Run Code Online (Sandbox Code Playgroud)

camera android android-camera-intent onactivityresult

2
推荐指数
1
解决办法
8783
查看次数