나는 많은 게시물을 이미 읽었지만 비슷한 상황은 없습니다.Android API 23의 fragment에서 onActivityResult가 호출되지 않았습니다.
컨텍스트
다음 코드는 API (17)에 대해 잘 작동 - 22가 아니라 23 API 아래의 코드 단편 안에.
private void takePicture() {
// identify if the device has camera to decide the next flow of action
PackageManager pm = mContext.getPackageManager();
if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
Toast.makeText(mContext, R.string.msgPleaseTakePicture2, Toast.LENGTH_LONG).show();
dispatchTakePictureIntent();
}else {
showErrorDialog(getString(R.string.msgErrorPicture));
}
}
private void dispatchTakePictureIntent() {
ContentValues values;
values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, "Doarnf");
values.put(MediaStore.Images.Media.DESCRIPTION, "Doarnf");
imageUri = getActivity().getContentResolver().insert(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
//on ActivityResult method
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
switch (requestCode)
{
case REQUEST_IMAGE_CAPTURE:
getPictureResults(resultCode, intent);
break;
}
}
private void getPictureResults(int resultCode, Intent intent) {
if (resultCode == Activity.RESULT_OK)
{
try {
mImageBitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), imageUri);
mImageBitmap = ImageHelper.scaleBitmapBasedOnHeight(mImageBitmap, 1296);
executeDonation();
} catch (Exception e) {
showErrorDialog(getString(R.string.msgErrorPicture));
}
}else {
showErrorDialog(getString(R.string.msgErrorPicture));
}
}
의 AndroidManifest.xml
<activity
android:name="br.com.cfb.doarnf.NavigationDrawerActivity"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:launchMode="singleTop"
android:theme="@style/AppDrawer"
android:windowSoftInputMode="adjustPan"
android:screenOrientation="portrait">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="br.com.cfb.doarnf.MainActivity" />
</activity>
문제점
문제는 :
- 때로는 onActivityResults 다시 호출
하지만 조각 VAR 이블들이 사라진다.
가끔 OnActivityResults가 콜백되지 않습니다. 사진을 찍으면 안드로이드 메인 화면이 나타납니다.
그래서 나는 안드로이드 API (23)
어떤 생각에서 버그가 있음을 가정하여거야?
미리 감사드립니다.
, 나는의 전체 코드를보고 싶어요 이 활동/조각. 나에게도 알려주십시오. –
SDK 23을 실행중인 여러 장치/에뮬레이터에서 테스트 했습니까? 어쩌면 범인은 API 수준이 아닌 기기입니다. – liminal