用户在权限屏幕上单击“允许”后启动活动

2023-12-21

我的一项活动需要位置许可,我编写了下面的代码来获得许可。但在这种情况下,如果应用程序最初没有位置权限,则用户需要单击两次才能打开活动。我可以进行一些更改,以便一旦用户在“权限”屏幕上单击“允许”,只有然后意图才会触发。

 int PERMISSION_ALL = 1;
                            String[] PERMISSIONS = new String[0];
                            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                                PERMISSIONS = new String[]{
                                        Manifest.permission.ACCESS_FINE_LOCATION};
                            }

                            if (!hasPermissions(getApplicationContext(), PERMISSIONS)) {
                                ActivityCompat.requestPermissions(StartupActivity.this, PERMISSIONS, PERMISSION_ALL);
                            }

                            if (hasPermissions(getApplicationContext(), PERMISSIONS)) {
                                new Thread(new Runnable() {
                                    @Override
                                    public void run() {
                                        Intent intent = new Intent(StartActivity.this, Details.class);
                                        startActivity(intent);
                                    }
                                }).start();
                            }

是的,你需要覆盖onRequestPermissionsResult

首先在onCreate

int PERMISSION_ALL = 1;
String[] PERMISSIONS = new String[0];
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    PERMISSIONS = new String[]{
            Manifest.permission.ACCESS_FINE_LOCATION};
}

if (!hasPermissions(getApplicationContext(), PERMISSIONS)) {
    ActivityCompat.requestPermissions(StartupActivity.this, PERMISSIONS, PERMISSION_ALL);
}

然后覆盖

  @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        if (requestCode == PERMISSION_ALL) {
                Intent intent = new Intent(StartActivity.this,Details.class);
                startActivity(intent);
        }
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用户在权限屏幕上单击“允许”后启动活动 的相关文章

随机推荐

  • startWith() 运算符是否将 Observable 转换为 ReplaySubject(1)?

    如果我希望订阅者最初至少获得X 我可以用吗开始于 X 对于现有的 Observable streamFromLibrary startWith X subscribe myHandler I want myHandler to not wa
  • C++11 move(x) 实际上意味着 static_cast(x)? [复制]

    这个问题在这里已经有答案了 刚读完 Stroustrup 的 C 编程语言 第 4 版 他在第 7 章中说道 move x means static cast
  • Vue js 切换每个元素的类

    虽然 Vuejs 中有很多切换类的例子 但我还没有找到一个可以切换类来缩小元素范围的例子 如果我像这样定义一个全局变量 data toggle false 当我有一个元素时 我会遇到问题 比如这个导航栏 ul class menu li c
  • Pandas json_normalize 的逆

    我刚刚发现 json normalize 函数 它在获取 JSON 对象并给我一个 pandas Dataframe 方面效果很好 现在我想要反向操作 它采用相同的 Dataframe 并给我一个 json 或类似 json 的字典 我可以
  • Django管道生成空文件

    我的 django 项目中有几个应用程序 我正在使用管道来压缩文件 并且一切正常 但我有一个名为 mypage 调用后生成的每个文件collectstatic是空的 如果我从mypage static进入另一个应用程序静态文件夹 它已正确生
  • 鼠标悬停时启动 GIF,否则暂停?

    因此 我尝试将这些图像放在我正在构建的页面的侧边栏上 这些图像是静态的 但当您将鼠标悬停时 它们会以 gif 形式呈现动画 我当前的设置是background imagecss 属性图像通常是静态 jpg 但在鼠标悬停时更改为动画 gif
  • 如何在 recyclerview 中创建带有数字和字母气泡的自定义滚动条等材质设计

    在许多新的 Android 应用程序及其最新更新中 这些应用程序 主要是材料设计 都有一个带有字母和数字的自定义滚动条 同时用拇指滚动滚动条 字母或数字出现在拇指旁边 我已将屏幕截图附加到滚动条的问题应用程序 联系人 Screenshot
  • 任务完成后才显示进度条

    我一直在尝试将进度条设置为选框 以便在另一个功能运行时继续移动 该函数运行后 我会显示消息 对于本例 我能够完成这项工作的唯一方法是与后台工作人员一起工作 然后有一个 做 循环直到在主窗体中运行的条件 直到操作完成 然后是我的消息框 这似乎
  • 我应该在 Redux App 中哪里处理排序?

    我有一个动作 减速器 组件 在我的一个组件 组件转储 中 我有一个选择 我获得有关我的商店的过滤器类型的信息 我可以在action或reducer中在哪里处理它 IMO 对数据进行排序的正确位置不是直接在减速器中 而是在选择器 来自 red
  • 识别 C/C++ 中未使用的函数 [重复]

    这个问题在这里已经有答案了 可能的重复 在大型 C 遗留应用程序中查找 死代码 https stackoverflow com questions 2380153 finding dead code in a large c legacy
  • wpf 组合框 selectedIndex=0 不起作用

    xaml
  • 什么时候可以将结构安全地散列为字节数组?

    对于相等意味着每个数据成员的相同的最派生类型和字节相等的结构 何时 如果有 可以将该结构安全地散列为字节数组 这个文件 http www open std org jtc1 sc22 wg21 docs papers 2012 n3333
  • 诗歌配置无效 - 不允许附加属性(“组”是意外的)

    最近 我在诗歌方面遇到了这个问题 我所有使用诗歌的命令都失败并出现以下错误 RuntimeError The Poetry configuration is invalid Additional properties are not all
  • 如何从 torrent 跟踪器响应中获取对等列表

    我正在制作一个种子客户端 我解码 torrent 文件并将此请求发送到跟踪器 http tracker mininova org announce uploaded 0 downloaded 0 compact 0 event starte
  • 为什么函数式语言如此大量地使用列表?

    我的意思是 列表相对于其他数据结构有哪些优势 使其在函数式语言中几乎不可避免 没有勺子 如果我告诉你没有字符串这样的东西怎么办 仅存在单个字符的列表 那么如果我告诉你不存在列表这样的东西呢 仅存在对 construct a pair of
  • Visual Studio Code 无法在 WSL 2 上运行/工作

    不知怎的 当我跑步时code 在 WSL 内部 它根本不执行任何操作 如果我which code它确实返回了 Windows 上的 VS Code 路径 但仍然没有任何反应 经过一番研究 真正解决我问题的是 在 WSL 终端中 运行rm r
  • 用于返回合格子节点值的字符串串联的 XPath

    任何人都可以建议一种 XPath 表达式格式 该格式返回一个字符串值 其中包含元素的某些合格子节点的串联值 但忽略其他值 div This text node should be returned em And the value of t
  • UIGestureRecognizer 导致循环保留?

    我在想 如果你将目标指定为self在手势识别器中initWithTarget action 方法 会引起循环retain吗 自从self将保留识别器self gestureRecognizers并且手势识别器也有可能将自身保留在initWi
  • 在类方法中使用 self

    我在 ShareKit 中遇到了这段代码 我不明白作者的想法 使用self在类方法中 有警告 不兼容的指针类型将 Class 发送到参数类型id
  • 用户在权限屏幕上单击“允许”后启动活动

    我的一项活动需要位置许可 我编写了下面的代码来获得许可 但在这种情况下 如果应用程序最初没有位置权限 则用户需要单击两次才能打开活动 我可以进行一些更改 以便一旦用户在 权限 屏幕上单击 允许 只有然后意图才会触发 int PERMISSI