我实现了以下代码,但在手机kitkat api和marshmallow上发现了不同的结果。图片如下。与api KitKat不同,几乎所有媒体图标应用都可以显示,但为什么API Marshmallow,谷歌驱动器图标和其他媒体图标甚至没有出现?我应该写什么正确的代码才能使Android手机中使用的所有apis都行为相同,并控制掉KitKat中的所有媒体图标?我甚至尝试过,如果我在marshmallow中包含声明intent.setAction(Intent.ACTION_GET_CONTENT)
,那么在没有显示图标照片和图库的情况下,结果会更糟。
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.setType("image/*");
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.M)
intent.setAction(Intent.ACTION_GET_CONTENT);
Intent chooserIntent = Intent.createChooser(intent, "Complete action using");
// Add the camera options.
Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
captureIntent.putExtra("return-data", true);
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] { captureIntent });
startActivityForResult(chooserIntent, PICK_FROM_FILE);