相关疑难解决方法(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万
查看次数

拍摄带照相机意图的照片并在imageView或textView中显示?

我有一个关于如何使用相机意图(或相机API)拍摄图像的问题,然后将图像带入imageView,以便在我的应用程序中显示.这就是我到目前为止所拥有的.

我设置了一个按钮

Button btnPicture = (Button) findViewById(R.id.btn_picture);
    btnPicture.setOnClickListener(this);
Run Code Online (Sandbox Code Playgroud)

我设置了一个Camera方法

private void Camera() {
    Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(intent, TAKE_PICTURE_CODE);
    intent.setAction(Intent.ACTION_GET_CONTENT);
    intent.addCategory(Intent.CATEGORY_OPENABLE);
    startActivityForResult(intent, REQUEST_CODE);
}
Run Code Online (Sandbox Code Playgroud)

这就是我迷失的地方.我正在尝试处理我拍摄的图像.

    private void processImage(Intent intent) {
    setContentView(R.layout.imagelayout);
    ImageView imageView = (ImageView)findViewById(R.id.image_view);
    cameraBitmap = (Bitmap)intent.getExtras().get("data");
    imageView.setImageBitmap(cameraBitmap);
}
Run Code Online (Sandbox Code Playgroud)

我的目的是显示你在image_view中拍摄的图像.我没有收到错误,没有任何反应.当我拍照时,我被要求拍摄另一张照片,或者在我使用设备后退按钮后,应用程序强制关闭.似乎我完全退出了我的应用程序,返回是一个大问题.有什么建议?我错过了什么?

是的,这是我的onActivityResult

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
        if(TAKE_PICTURE_CODE == requestCode) {

        Bundle extras = data.getExtras();
        if (extras.containsKey("data")) {
            Bitmap bmp = (Bitmap) extras.get("data");
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            bmp.compress(Bitmap.CompressFormat.PNG, 100, baos);
            byte[] …
Run Code Online (Sandbox Code Playgroud)

android android-camera android-imageview

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