相关疑难解决方法(0)

OnActivityResult 方法已弃用,有什么替代方法?

我最近发现 onActivityResult已被弃用。我们应该怎么处理呢?

为此引入了任何替代方案?

显示带有删除 onActivityResult 的代码的图像,表示已弃用

android android-fragments android-activity onactivityresult

192
推荐指数
11
解决办法
10万
查看次数

Android:从图库加载的位图在ImageView中旋转

当我将媒体库中的图像加载到位图时,一切都运行正常,除了在垂直拿着手机时用相机拍摄的图片被旋转,以便我总是得到水平图片,即使它在画廊.为什么这样,我怎么能正确加载它?

android bitmap rotation gallery

132
推荐指数
8
解决办法
11万
查看次数

单一意图让用户拍照或从Android中的图库中选择图像

我正在为Android 2.1开发一个应用程序.我想让我的用户在我的应用程序中选择个人资料图片(我没有使用联系人框架).

理想的解决方案是启动一个使用户能够从图库中选择图像的意图,但如果没有合适的图像,则使用相机拍照(反之亦然,即允许用户拍照,但如果他们知道他们已经有了合适的图像,让他们进入画廊并选择所述图像).

目前我可以做其中一个但不能两个都做.

如果我使用MediaStore.ACTION_IMAGE_CAPTURE直接进入相机模式,则无法进入图库.

如果我使用Intent.ACTION_PICK直接进入图库,那么我可以选择一个图像,但是如果我单击相机按钮(在图库的右上角),则会触发新的相机意图.因此,拍摄的任何照片都不会直接返回给我的应用程序.(当然你可以按后退按钮退回到图库并从那里选择图像,但这是一个额外的不必要的步骤,并不是很直观).

那么有没有办法将两者结合起来,或者我是否必须提供一个菜单来从我的应用程序中做一个或另一个?看起来这将是一个常见的用例...当然我错过了什么?

camera android image gallery android-intent

66
推荐指数
3
解决办法
4万
查看次数

意图获得多个图像

是否有要求获取多张图片的意图?

我们知道Intent.ACTION_PICKIntent.ACTION_GET_CONTENT获得单个图像.我们的应用程序也注册为IntentFilter for android.intent.action.SENDandroid.intent.action.SEND_MULTIPLE

但是,我们希望我们的应用程序能够使用类似应用程序的Gallery来选择多个图像.有意图吗?

android gallery android-intent

31
推荐指数
2
解决办法
3万
查看次数

从Android Intent打开图库应用程序

我正在寻找一种Android从意图中打开图库应用程序的方法.

我不想返回图片,而只是打开图库以允许用户使用它,就好像他们从启动器(View pictures/folders)中选择它一样.

我试图做以下事情:

Intent intent = new Intent();  
intent.setAction(android.content.Intent.ACTION_GET_CONTENT);  
intent.setType("image/*");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

然而,一旦我选择了一张图片,这会导致应用程序关闭(我知道这是因为ACTION_GET_CONTENT),但我需要打开图库.

任何帮助都会很棒.

谢谢

java android android-intent

22
推荐指数
5
解决办法
8万
查看次数

尝试将文件写入Android中的SD卡时,FileNotFoundException(权限被拒绝)

正如你可以从标题中注意到的那样,我在Android中将文件写入sdcard时遇到了问题.我已经检查了这个问题,但它没有帮助我.我想写一个将在sdcard上的公共空间中的文件,以便任何其他应用程序都可以读取它.

首先,我检查是否安装了SD卡:

Environment.getExternalStorageState();
Run Code Online (Sandbox Code Playgroud)

然后,我运行此代码:

File baseDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
    baseDir.mkdirs();
    File file = new File(baseDir, "file.txt");
    try {
        FileOutputStream out = new FileOutputStream(file);
        out.flush();
        out.close();
        Log.d("NEWFILE", file.getAbsolutePath());
    } catch (IOException e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

我有:

<manifest>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<application>
...
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

在我的AndroidManifest.xml中.

确切的错误是这样的:

java.io.FileNotFoundException: /storage/1510-2908/Download/secondFile.txt: open failed: EACCES (Permission denied)
Run Code Online (Sandbox Code Playgroud)

我正在模拟器上测试我的代码(模拟Nexus5 API 23).我所需的最低SDK版本是19(4.4 Kitkat).


此外,一切正常,使用相同的代码将文件写入SD卡上的私人文件夹,所以我说前代码也应该工作:

File newFile = new File(getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), "esrxdtcfvzguhbjnk.txt");
    newFile.getParentFile().mkdirs();
    try {
        FileOutputStream out = new FileOutputStream(newFile);
        out.flush();
        out.close();
        Log.d("NEWFILE", newFile.getAbsolutePath());
    } catch (IOException e) …
Run Code Online (Sandbox Code Playgroud)

java android filenotfoundexception android-permissions

17
推荐指数
1
解决办法
3万
查看次数

使用ExifInterface时出现Android错误

我正在尝试检查位图的方向并在需要时将其翻转,但在应用代码时出错.这是我的代码,而我试图使用ExifInterface翻转图像:

@RequiresApi(api = Build.VERSION_CODES.N)
    public void flipping(Bitmap b)
    {
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        b.compress(Bitmap.CompressFormat.JPEG,100, bos);
        byte[] bitmapdata = bos.toByteArray();
        ByteArrayInputStream bs = new ByteArrayInputStream(bitmapdata);
        try {

            ExifInterface exif = new ExifInterface(bs);
            int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION,
                    ExifInterface.ORIENTATION_UNDEFINED);
            switch(orientation) {

                case ExifInterface.ORIENTATION_ROTATE_90:
                    rotateImage(b, 90);
                    break;

                case ExifInterface.ORIENTATION_ROTATE_180:
                    rotateImage(b, 180);
                    break;

                case ExifInterface.ORIENTATION_ROTATE_270:
                    rotateImage(b, 270);
                    break;

                case ExifInterface.ORIENTATION_NORMAL:

                default:
                    break;
            }

            encoding();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static Bitmap rotateImage(Bitmap source, float angle) {
        Matrix matrix = new …
Run Code Online (Sandbox Code Playgroud)

android

13
推荐指数
3
解决办法
7079
查看次数

找不到处理Intent的活动{act = android.intent.action.PICK dat = content:// media/external/images/media}

在我的应用程序中,我让用户从他们的图库中选择一张照片 我使用这样的意图:

Intent pickPictureIntent = new Intent(Intent.ACTION_PICK,
                MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
Run Code Online (Sandbox Code Playgroud)

在我开始这个意图之前,我检查是否有任何应用程序可以处理它:

if (pickPictureIntent.resolveActivity(getActivity().getPackageManager()) != null) {
    startActivityForResult(pickPictureIntent, SELECT_PICTURE_FROM_GALLERY_REQUEST_CODE);
}
Run Code Online (Sandbox Code Playgroud)

但是当我的两个用户尝试从他们的图库中选择一张照片时会遇到此异常:

Exception android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.PICK dat=content://media/external/images/media }
Run Code Online (Sandbox Code Playgroud)

到目前为止,我知道当没有活动来处理意图时会发生这种情况,但正如你所看到的,我检查了没有活动来处理我的代码中的意图的可能性.

android android-intent

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

图像未保存在文件夹中

我正在尝试创建一个文件夹并将图像保存在其中.
但它不起作用.
我不知道我的代码有什么问题 - 你能告诉我为什么吗?

    // The method that invoke of uploading images
public   void openGallery() {


    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent, "Select Picture"), 1);

}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == 1 && resultCode == RESULT_OK && data != null && data.getData() != null) {

        File folder = new File(this.getExternalFilesDir(
                Environment.DIRECTORY_PICTURES), "albumName");


        File file = new File(this.getExternalFilesDir(
                Environment.DIRECTORY_PICTURES), "fileName"+3);
        Bitmap imageToSave = (Bitmap) data.getExtras().get("data");
        try { …
Run Code Online (Sandbox Code Playgroud)

android

4
推荐指数
1
解决办法
1011
查看次数