如何在Android中选择和裁剪图像?
2022-09-01 10:40:50
嘿,我目前正在制作动态壁纸,我允许用户选择一个图像,这将在我的效果后面。
目前我有:
Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
i.putExtra("crop", "true");
startActivityForResult(i, 1);
略低于此:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1)
if (resultCode == Activity.RESULT_OK) {
Uri selectedImage = data.getData();
Log.d("IMAGE SEL", "" + selectedImage);
// TODO Do something with the select image URI
SharedPreferences customSharedPreference = getSharedPreferences("imagePref", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = customSharedPreference.edit();
Log.d("HO", "" + selectedImage);
editor.putString("imagePref", getRealPathFromURI(selectedImage));
Log.d("IMAGE SEL", getRealPathFromURI(selectedImage));
editor.commit();
}
}
当我的代码运行时,Logcat 告诉我 selectedImage 为 null。如果我注释掉了
i.putExtra("crop", "true"):
Logcat没有给我空指针异常,我能够对图像做我想做的事情。那么,这里的问题是什么呢?有没有人知道如何解决这个问题?谢谢你抽出时间。