Android之RxPermissions用kotlin寫沒反應

1 問題

用rxPermisssons下面的寫法沒反應

    @RequiresApi(Build.VERSION_CODES.N)
    fun test(){
        val rxPermissions = RxPermissions(this)
        rxPermissions.requestEach(
            Manifest.permission.CAMERA,
            Manifest.permission.WRITE_EXTERNAL_STORAGE
        ).subscribe {
            object : Consumer<Permission>{
            override fun accept(t: Permission) {
                if(t.granted) {
                    
                }
            }
        }
    }

 

 

 

 

 

 

 

2 解決辦法

不要object,直接調

    @RequiresApi(Build.VERSION_CODES.N)
        fun test(){
            val rxPermissions = RxPermissions(this)
            rxPermissions.requestEach(
                Manifest.permission.CAMERA,
                Manifest.permission.WRITE_EXTERNAL_STORAGE
            ).subscribe {
                if (it.granted) {
                }
            }
        }

 

 

 

 

 

 

 

3 所有權限只回調結果一次這樣寫

    @RequiresApi(Build.VERSION_CODES.N)
    fun test(){
        val rxPermissions = RxPermissions(this)
        rxPermissions.requestEach(
            Manifest.permission.CAMERA,
            Manifest.permission.WRITE_EXTERNAL_STORAGE
        ).subscribe {
            object : Consumer<Permission>{
            override fun accept(t: Permission) {
                if(t.granted) {
                    
                }
            }
        }
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章