V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cczhrd
V2EX  ›  Android

一行代码实现申请 Android 应用权限

  •  
  •   cczhrd · 2021-05-08 12:54:32 +08:00 · 9239 次点击
    这是一个创建于 1324 天前的主题,其中的信息可能已经有所发展或是发生改变。

    就那么简单 源码 https://github.com/cczhr/EPermission

    class MainActivity : AppCompatActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
            requestPermissions()
        }
    
        @EPermission(true)//传 ture 会自动申请权限和弹出拒绝权限提示框
        fun requestPermissions() {
        }
        
     /*  @EPermission//只负责申请权限
        fun requestPermissions() {
        }
    
        override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
            super.onRequestPermissionsResult(requestCode, permissions, grantResults)
            if (requestCode == EPermission.REQUEST_CODE) {
                //自己处理权限回调
            }
        }*/
        
        
    }
    
    5 条回复    2021-05-08 16:53:06 +08:00
    AoEiuV020
        1
    AoEiuV020  
       2021-05-08 14:53:27 +08:00
    packageManager.getPackageInfo(packageName, PackageManager.GET_PERMISSIONS).requestedPermissions?.takeIf {
    it.isNotEmpty()
    }?.let {
    ActivityCompat.requestPermissions(this, it, 1)
    }
    cczhrd
        2
    cczhrd  
    OP
       2021-05-08 15:07:19 +08:00
    cczhrd
        3
    cczhrd  
    OP
       2021-05-08 15:19:48 +08:00
    @AoEiuV020 噢 确实你这种简单多了哈哈
    Helsing
        4
    Helsing  
       2021-05-08 16:41:42 +08:00 via iPhone
    RxPermission 了解一下🐶
    cczhrd
        5
    cczhrd  
    OP
       2021-05-08 16:53:06 +08:00
    @Helsing 我用的代码字数最少🐶(小项目或者 demo 用我这种更简单 直接一个注解申请权限和弹框全帮你弄了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   921 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 19:46 · PVG 03:46 · LAX 11:46 · JFK 14:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.