gpt4 book ai didi

Android onRequestPermissionsResult super 实用程序

转载 作者:行者123 更新时间:2023-11-29 02:26:37 24 4
gpt4 key购买 nike

当我使用 onRequestPermissionsResulti 时,保持 super 有用吗?

@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}

如果我们看一下super方法

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults) {
mFragments.noteStateNotSaved();
int index = (requestCode >> 16) & 0xffff;
if (index != 0) {
index--;

String who = mPendingFragmentActivityResults.get(index);
mPendingFragmentActivityResults.remove(index);
if (who == null) {
Log.w(TAG, "Activity result delivered for unknown Fragment.");
return;
}
Fragment frag = mFragments.findFragmentByWho(who);
if (frag == null) {
Log.w(TAG, "Activity result no fragment exists for who: " + who);
} else {
frag.onRequestPermissionsResult(requestCode & 0xffff, permissions, grantResults);
}
}
}

我真的不明白 super 的目标,也许只是为了日志?

我可以安全地删除所有地方的 super 方法吗?

最佳答案

当你处理 super 方法时,通过查看它的源代码来检查它在做什么。 (Ctrl + 单击)。

在您的情况下,FragmentActivity 类(AppCompatActivity 的父类)的方法onRequestPermissionsResult 具有将结果转发到其 fragment 。所以如果你需要 fragment 中的结果,这是必要的,否则你可以去掉 super 调用。此外,如果您直接将 Activity 类用于您的 Activity ,则可以将其删除。

Fragment 的情况下,方法 onRequestPermissionsResult 没有主体。所以你可以删除 super 调用。

关于Android onRequestPermissionsResult super 实用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51891999/

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