Android 调用操作\u PICK时,附加值为空
我打电话给画廊的目的如下:Android 调用操作\u PICK时,附加值为空,android,android-intent,android-gallery,Android,Android Intent,Android Gallery,我打电话给画廊的目的如下: Intent picturePickerIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI); picturePickerIntent.setType("image/*"); picturePickerIntent.putExtra("crop", "true"); picturePick
Intent picturePickerIntent = new Intent(Intent.ACTION_PICK,
MediaStore.Images.Media.INTERNAL_CONTENT_URI);
picturePickerIntent.setType("image/*");
picturePickerIntent.putExtra("crop", "true");
picturePickerIntent.putExtra("aspectX", 1);
picturePickerIntent.putExtra("aspectY", 1);
picturePickerIntent.putExtra("outputX", PHOTO_SIZE);
picturePickerIntent.putExtra("outputY", PHOTO_SIZE);
picturePickerIntent.putExtra("return-data", true);
startActivityForResult(picturePickerIntent, IMAGE_GALERY_REQUEST);
然后我得到结果:
if (resultCode == RESULT_OK) {
if (requestCode == IMAGE_GALERY_REQUEST) {
Bundle extras = data.getExtras();
if (extras != null) {
bm = extras.getParcelable("data");
photoView.setImageBitmap(bm);
if (avatarSelected != null) {
avatarSelected.setBackgroundColor(Color.TRANSPARENT);
}
this.avatarSelected = null;
}else{
// Sometimes, the photo isn't loaded
Toast.makeText(this, "The photo has not been loaded", Toast.LENGTH_SHORT).show();
}
在某些设备上,这段代码就像一个符咒,在其他设备上,它每次都会显示祝酒词,在6.0模拟器上,它几乎每两次工作一次
我做错了什么?代码似乎没有问题,但您确实忘记了动态权限,它将始终返回null。请阅读此内容 基本上,您需要动态请求android 6及更高版本的权限
if (ContextCompat.checkSelfPermission(thisActivity,
Manifest.permission.READ_CONTACTS)
!= PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
Manifest.permission.READ_CONTACTS)) {
} else {
ActivityCompat.requestPermissions(thisActivity,
new String[]{Manifest.permission.READ_CONTACTS},
MY_PERMISSIONS_REQUEST_READ_CONTACTS);
}
}