标签: onactivityresult

onActivityResult中的requestCode错误

我正在从片段中开始一个新的活动

startActivityForResult(intent, 1);
Run Code Online (Sandbox Code Playgroud)

并希望在Fragment的父Activity中处理结果:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Log.d(TAG, "onActivityResult, requestCode: " + requestCode + ", resultCode: " + resultCode);
    if (requestCode == 1) {
        // bla bla bla
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是我从来没有得到requestCode我刚刚发布的内容startActivityForResult().

我有一个类似的东西0x40001,0x20001有一个随机的高位设置.文档没有说明这一点.有任何想法吗?

android android-fragments onactivityresult

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

OnActivityResult 方法已弃用,有什么替代方法?

我最近发现 onActivityResult已被弃用。我们应该怎么处理呢?

为此引入了任何替代方案?

显示带有删除 onActivityResult 的代码的图像,表示已弃用

android android-fragments android-activity onactivityresult

192
推荐指数
11
解决办法
10万
查看次数

Android:如何让活动将结果返回给调用它的活动?

我有一个Location可以从许多活动中调用的活动,例如Sign upOrder.在Location活动中,用户输入他的位置,因此活动Location会将此新位置返回到调用它的活动.

因此,当Sign up活动调用Location活动时,它必须将数据返回到Sign up活动.另一次Order活动将做同样的事情.

注意

我知道你会告诉我我应该发布代码,但我不是要你给我代码; 我只想要一些提示,链接或好线程.

android android-activity onactivityresult

112
推荐指数
3
解决办法
10万
查看次数

onActivityResult()未调用

onActivityResult()没有被召唤.以下是我的代码:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // Check which request we're responding to

    Log.e("CALLED", "OnActivity Result");

    if (requestCode == TEAM_SELECTED_REQUEST_CODE) {
        // Make sure the request was successful
        if (resultCode == RESULT_OK) {
            try {
                 mySelectedTeam = getIntent().getStringExtra("teamName");
                txtSelectTeamCreateMatch.setText(mySelectedTeam);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我开始的SelectTeamActivity:

Intent intent=new Intent(CreateMatch.this,SelectTeamActivity.class);
startActivityForResult(intent, TEAM_SELECTED_REQUEST_CODE);
//overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
overridePendingTransition(R.anim.push_up_in, R.anim.push_up_out);

Intent intent = getIntent();
intent.putExtra("teamID", teamDataList.get(position).getTeamId().toString());
intent.putExtra("teamName", teamDataList.get(position).getTeamName().toString());
setResult(1, intent);
Run Code Online (Sandbox Code Playgroud)

android android-fragments onactivityresult

27
推荐指数
5
解决办法
4万
查看次数

错误的requestCode从另一个Activity返回onActivityResult

我有一个Activity调用另一个Activity,调用其他一些Activities.我发送到最后Activity得到一个结果,然后我把结果发回拳头Activity.

流程是这样的

A -> B -> C -> D -> C -> B -> A
Run Code Online (Sandbox Code Playgroud)

从流动ADstartActivityForResult和从流动DAonActivityResult.

DBrequestCode始终是相同的(一个我决定),而是来自BA它突然从我的值更改为随机值(在这种特殊情况下196614).

这是我用来调用activity Bfrom 的代码activity A:

filterByCatalogue.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(getActivity(), CatalogueContainerActivity.class);
            startActivityForResult(intent, Defines.FILTER_BY_CATALOGUE);
        }
    });
Run Code Online (Sandbox Code Playgroud)

(以filterByCataloguea为FrameLayout …

android start-activity onactivityresult

22
推荐指数
2
解决办法
6010
查看次数

如何用活动结果 API 替换 startActivityForResult?

我有一个主要活动,它作为根据条件调用不同活动的入口点。其中,我使用 Firebase Auth 来管理用户登录:

startActivityForResult(
            AuthUI.getInstance().createSignInIntentBuilder()
                    .setAvailableProviders(providers)
                    .build(),
            RC_SIGN_IN)
Run Code Online (Sandbox Code Playgroud)

我覆盖onActivityResult()以区分返回的意图/数据,例如:

 override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    when (requestCode) {

        REQUEST_CODE_1 -> {
          // update UI and stuff
        }

        RC_SIGN_IN -> {
          // check Firebase log in
        }
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

使用文档强烈推荐的 Activity Result APIs ,我知道我应该在启动prepareCall()之前创建ActivityResultLauncher并确保活动在启动时处于创建状态,但我仍然不明白如何优雅地处理多个活动结果(在至少,在一个地方)就像在onActivityResult().

这篇文章,似乎我需要实现多个ActivityResultContract类型的子内部类(因此是多个prepareCall()?),因为它们应该是不同的合同,我说得对吗?有人可以向我展示一些反映上述onActivityResult()逻辑的骨架示例吗?

android android-activity onactivityresult androidx

22
推荐指数
4
解决办法
2万
查看次数

android减少摄像头捕获图像的文件大小小于500 kb

我的要求是将摄像头捕获的图像上传到服务器,但它应该小于500 KB.如果它大于500 KB,则需要将其减小到小于500 KB的大小(但稍微接近它)

为此,我使用以下代码 -

@Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        try {
            super.onActivityResult(requestCode, resultCode, data);
            if (resultCode == getActivity().RESULT_OK) {

                    if (requestCode == REQUEST_CODE_CAMERA) {

                        try {

                            photo = MediaStore.Images.Media.getBitmap(
                                    ctx.getContentResolver(), capturedImageUri);
                            String selectedImagePath = getRealPathFromURI(capturedImageUri);

                            img_file = new File(selectedImagePath);

                            Log.d("img_file_size", "file size in KBs (initially): " + (img_file.length()/1000));

                            if(CommonUtilities.isImageFileSizeGreaterThan500KB(img_file)) {
                                photo = CommonUtilities.getResizedBitmapLessThan500KB(photo, 500);
                            }
                            photo = CommonUtilities.getCorrectBitmap(photo, selectedImagePath);


//  // CALL THIS METHOD TO GET THE URI FROM THE BITMAP

                            img_file …
Run Code Online (Sandbox Code Playgroud)

android image filesize android-camera-intent onactivityresult

21
推荐指数
1
解决办法
9897
查看次数

在ACTION_GET_CONTENT意图之后有时不会调用OnActivityResult

我正在开发一个图像编辑Android应用程序.在我的一个活动中,我打算从onCreate中的图库中选择一个图像,如下所示:

Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE);
Run Code Online (Sandbox Code Playgroud)

然后我收到这样的数据:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    Crashlytics.log("onActivityResult called");
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == PICK_IMAGE && resultCode == Activity.RESULT_OK && data != null) {
        Crashlytics.log("Data received from image pick intent");
        imageUri = data.getData();
        loadImage();
    } else {
        //if we do not select a picture, go back to the dashboard
        Crashlytics.log("Data not received");
        onBackPressed();
        Log.d(TAG, "no picture selected");
    }
}
Run Code Online (Sandbox Code Playgroud)

loadImage方法:

private …
Run Code Online (Sandbox Code Playgroud)

java android nullpointerexception android-intent onactivityresult

21
推荐指数
1
解决办法
575
查看次数

如何使用Activity类以外的onActivityResult方法

我正在创建一个应用程序,我需要找到用户的当前位置.

所以在这里我想做一个任务,比如当用户从那个系统意图返回时,我的任务应该在那之后完成.(显示用户当前位置)

所以我打算用OnActivityResult().

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

}
Run Code Online (Sandbox Code Playgroud)

但问题是我不知道如何在不扩展Activity的类中使用该方法.

请有人告诉我如何实现这一目标?

android android-activity onactivityresult

20
推荐指数
4
解决办法
2万
查看次数

如何在Fragment中调用OnActivityResult以及它是如何工作的?

我想知道是否有可能在onActivityResult()Fragment中使用,如果是,那么它是如何工作的,请举例说明.

android fragment android-intent onactivityresult

20
推荐指数
3
解决办法
2万
查看次数