【问题标题】:Splash screen activity which needs to pause when dialog box is open对话框打开时需要暂停的闪屏活动
【发布时间】:2020-03-10 04:30:01
【问题描述】:

我有一个启动屏幕活动,它的超时时间为 1000 毫秒。但随后它会显示某些需要用户接受或拒绝的权限对话框,并且在完成 1000 毫秒后,活动会发生变化。所以我需要这样设计我的启动画面,当显示权限对话框时计时器停止....

【问题讨论】:

  • 你能详细说明一下吗,因为我在 oncreate() 本身中有权限获取和计时器......
  • 在 oncreate() 中,在用户接受权限后调用运行时权限,它将命中 onRequestPermissionsResult。在 onRequestPermissionsResult 中,您可以调用计时器功能。
  • 我在下面更新了我的代码。请检查

标签: android android-activity splash-screen


【解决方案1】:

在 onRequestPermissionsResult 内调用闪屏计时器后首先调用运行时权限功能。

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash);

    requestPermission();
}


@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {

    switch (requestCode) {
        case 1:
            if (grantResults.length > 0) {
                boolean camera = grantResults[0] == PackageManager.PERMISSION_GRANTED;
                if (camera) {
                    // Call Timer
                } else {
                    // Request permission
                }
            }
    }
}

【讨论】:

  • 即使用户拒绝它也应该打开
  • 然后在onRequestPermissionsResult中调用定时器功能。不需要任何if条件
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-03
  • 1970-01-01
相关资源
最近更新 更多