我希望用戶從他的畫廊中選擇圖片,因此我有以下內容。Activity中的onActivityResult未在API 18中的片段的startActivityForResult後調用
我有一個SettingsActivity,它說:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
//do sth here
}
}
在這種SettingsActivity的onCreateMethod我做的:
getFragmentManager().beginTransaction().replace(android.R.id.content, new SettingsFragment()).commit();
然後我有做的SettingsFragment中的onCreate下列()
Preference pref = (Preference) findPreference(SettingsConstants.Key.PREF_BACKGROUND_IMAGE);
pref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
Intent intent = new Intent();
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
intent.putExtra(Intent.CATEGORY_OPENABLE, true);
intent.setAction(Intent.ACTION_GET_CONTENT);
getActivity().startActivityForResult(Intent.createChooser(intent, "Select Picture"), SettingsActivity.RESULT_LOAD_IMAGE);
return true;
}
});
這工作在4.2 - 但不與4.3任何工作任何更多!任何人都可以告訴我我在這裏錯過了什麼,或者是否有人面臨同樣的問題?
Fragmenst也有[onActivityResult()](http://developer.android.com/reference/android/app/Fragment.html#onActivityResult%28int,%20int,%20android.content.Intent%29)代碼是否返回? – Delblanco
代碼也沒有在片段onActivityResult()方法中返回 –
可以肯定,意圖選擇器和選擇的意圖像以前一樣工作,只有onActivityResult不被調用? – Delblanco