相关疑难解决方法(0)

如何在Android上管理startActivityForResult?

在我的活动中,我正在通过主要活动调用第二个活动startActivityForResult.在我的第二个活动中,有一些方法可以完成此活动(可能没有结果),但是,只有其中一个返回结果.

例如,从主要活动我称之为第二个.在这项活动中,我正在检查手机的某些功能,例如是否有相机.如果它没有,那么我将关闭此活动.此外,在准备期间MediaRecorderMediaPlayer如果出现问题,我将关闭此活动.

如果其设备有摄像头并完全录制,则在用户点击完成按钮后录制视频后,我会将结果(录制视频的地址)发送回主要活动.

如何检查主要活动的结果?

android android-intent android-activity startactivityforresult

935
推荐指数
9
解决办法
66万
查看次数

片段中没有调用onActivityResult

托管此片段的活动onActivityResult在相机活动返回时调用.

我的片段开始一个结果的活动,其意图是发送给相机拍照.图片应用程序加载正常,拍照并返回.该onActivityResult然而,永远不会打.我设置了断点,但没有触发任何东西.一个片段可以onActivityResult吗?我想是因为它是一个提供的功能.为什么不被触发?

ImageView myImage = (ImageView)inflatedView.findViewById(R.id.image);
myImage.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View view) {
        Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(cameraIntent, 1888);
    }
});

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if( requestCode == 1888 ) {
        Bitmap photo = (Bitmap) data.getExtras().get("data");
        ((ImageView)inflatedView.findViewById(R.id.image)).setImageBitmap(photo);
    }
}
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-activity

834
推荐指数
19
解决办法
37万
查看次数

按下BACK按钮时,setResult不起作用

我按下BACK按钮后尝试setResult.我打电话给onDestroy

Intent data = new Intent();
setResult(RESULT_OK, data) 
Run Code Online (Sandbox Code Playgroud)

但是当涉及到

onActivityResult(int requestCode, int resultCode, Intent data) 
Run Code Online (Sandbox Code Playgroud)

resultCode为0(RESULT_CANCELED),数据为"null".

那么,如何通过BACK按钮终止活动传递结果?

android

104
推荐指数
4
解决办法
6万
查看次数

Android片段中的startActivityForResult()vs getActivity().startActivityForResult()

Android Fragment中startActivityForResult()vs 之间的区别是什么getActivity().startActivityForResult()onActivityForResult()在片段中调用时的行为差异是什么?

android android-fragments startactivityforresult

8
推荐指数
1
解决办法
749
查看次数