gpt4 book ai didi

android - 在使用 Intent.ACTION_GET_CONTENT 的 startActivityForResult() 之后未调用 onActivityResult()

转载 作者:太空狗 更新时间:2023-10-29 16:15:43 24 4
gpt4 key购买 nike

我的主要 Activity 包含不同的 Fragment,一个 fragment 让用户可以打开 DialogFragment。该对话框打开一个声音文件列表,该对话框还包含一个“添加”按钮,用户应该可以从中添加自己的声音文件。为此,我想使用标准的 Android 文件选择功能并利用 Intent.ACTION_GET_CONTENT。因此,当用户按下“添加”按钮并且 Android 文件选择功能正常出现时,我消除了这个 Intent ,但是当我选择一个文件时,什么也没有发生。我希望我的主要 Activity 的 onActivityResult() 被触发,但它没有,我无法让它工作,我不明白为什么这不起作用。

public class MyDialog extends DialogFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// Rest omitted...
}

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(context)
.setIcon(android.R.drawable.ic_dialog_info)
.setTitle(R.string.TONE_PROMPT_TITLE)

.setNeutralButton(R.string.ADD, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("audio/mpeg");
getActivity().startActivityForResult(intent, ADD_SOUND_REQUEST_CODE);
}
})

.create();
}

我还尝试通过以下方式实例化 Intent :Intent intent = new Intent(getActivity(), MyActivity.class);但这也不起作用。

任何想法都会很有帮助,谢谢!

最佳答案

设法找出问题所在...在我的 list 中,我已将我的 Activity 声明为 android:noHistory="false",这就是问题所在。在为我的 Activity 将它设置为 android:noHistory="true" 并触发我的 Intent 之后,它就像一个魅力一样工作。

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("audio/mpeg");
getActivity().startActivityForResult(intent, ADD_SOUND_REQUEST_CODE);

就这样,我的 Activity 中的 onActivityResult() 被触发了,之后我遵循了@Rohit5k2 关于如何获取我的 Fragment 的建议' s OnActivityResult() 被触发,一切都非常好!

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
MyFragment fragmentObject = getSupportFragmentManager().findFragmentById(R.id.container);
fragmentObject.onActivityResult(requestCode, resultCode, data);
}

谢谢大家的帮助!

关于android - 在使用 Intent.ACTION_GET_CONTENT 的 startActivityForResult() 之后未调用 onActivityResult(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28222498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com