• 以前接触的两个App中总结的知识


    Δ两个Activity之间跳转;

    1 Intent i = new Intent(这个Activity的名字.this, 要跳转的Activity的名字.class);
    2                 startActivity(i);

    Δ获取某权限;

    1 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.权限的名字},
    2                     REQUEST_CAMERA_PERMISSION);

    并在AndroidManifest设置;

    1 <uses-permission android:name="android.permission.权限的名字" />

    检测有无某权限;

    1 if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) //获取摄像头权限
    2                 == PackageManager.PERMISSION_GRANTED) {
    3         }

    Δ完整的请求获取某权限过程;

    if (ContextCompat.checkSelfPermission(CameraActivity.this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
                // 进入这儿表示没有权限
                if (ActivityCompat.shouldShowRequestPermissionRationale(CameraActivity.this, Manifest.permission.CAMERA)) {
                    // 提示已经禁止
                } else {
                    ActivityCompat.requestPermissions(CameraActivity.this, new String[]{Manifest.permission.CAMERA}, 100);
                }
            } else {
                mCamera = getCameraInstance();
            }

    为了帮助查找用户可能需要解释的情形,Android 提供了一个实用程序方法,即 shouldShowRequestPermissionRationale()。如果应用之前请求过此权限但用户拒绝了请求,此方法将返回 true。

    注:如果用户在过去拒绝了权限请求,并在权限请求系统对话框中选择了 Don’t ask again 选项,此方法将返回 false。如果设备规范禁止应用具有该权限,此方法也会返回 false。

    根据测试shouldShowRequestPermissionRationale的返回值主要以下几种情况

    第一次打开App时 false
    上次弹出权限点击了禁止(但没有勾选“下次不在询问”) true
    上次选择禁止并勾选:下次不在询问 false

     此段转载自:作者:cctcc 来源:CSDN 原文:https://blog.csdn.net/cctcc/article/details/79470514

    Δ弹出某提示;

    1 Toast.makeText(getApplicationContext(), "你要说的话",Toast.LENGTH_SHORT).show();
    //第一个参数:当前的上下文环境,可用getApplicationContext()或this;
    //第二个参数:你要说的话;
    //第三个参数:显示的时间长短;

  • 相关阅读:
    dp周训练 状态压缩
    计算几何 点对处理 #345 (Div. 2) C. Watchmen
    Codeforces Round #303 (Div. 2) D. Queue 水题贪心
    TTTTTTTTTTTTT 树的直径 Codeforces Beta Round #14 (Div. 2) D. Two Paths
    TTTTTTTTTTTTT CF Good Bye 2015 C- New Year and Domino(CF611C) 二维前缀
    巨蟒python全栈开发数据库前端8:jQuery框架2
    计时器练习
    onload事件,解决不能在head写代码
    js引入方式的弹框方法2
    pycharm中格式标准化代码
  • 原文地址:https://www.cnblogs.com/Ravenzzz/p/9762520.html
Copyright © 2020-2023  润新知