0
在我的壁紙偏好活動中,在複選框首選項和列表首選項中,有一個旨在爲背景啓動圖像選取器的意圖。當選擇圖像時,onSharedPreference不會觸發,我發現只有圖像選擇器意圖不會觸發共享首選項更改。那麼我該如何手動觸發它呢?手動調用onSharedPreferenceChange()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK) {
return;
}
Bitmap bitmap;
switch (requestCode) {
case REQUEST_CODE_GALLERY:
try {
InputStream inputStream = getContentResolver().openInputStream(data.getData());
FileOutputStream fileOutputStream = new FileOutputStream(mFileTemp);
copyStream(inputStream, fileOutputStream);
fileOutputStream.close();
inputStream.close();
startCropImage();
} catch (Exception e) {
Log.e("xxx", "Error while creating temp file", e);
}
break;
case REQUEST_CODE_CROP_IMAGE:
String path = data.getStringExtra(CropImage.IMAGE_PATH);
if (path == null) {
return;
}
bitmap = BitmapFactory.decodeFile(mFileTemp.getPath());
imagePreference.setSummary(path);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("imageDb", path);
editor.commit();
break;
}
super.onActivityResult(requestCode, resultCode, data);
}