【发布时间】:2018-05-20 05:07:10
【问题描述】:
我必须从用户那里获得运行时权限。我在 ActivityCompat.requestPermissions 中将 requestCode 作为 200 传递,如下面的代码所示。
但是当用户授予权限时,在onRequestPermissionsResult上,返回的requestCode是1。这里返回的 requestCode 应该是 200 吧?
谁能解释为什么在 onRequestPermissionsResult 中返回的 requestCode 是 1 而不是 200 (我要传递给 requestPermissions 的代码)用户已授予/接受运行时权限?
var mRuntimePermissions = RuntimePermissions(permissions, this)
var gotPermissions = mRuntimePermissions.hasPermissions()
if(gotPermissions == true){
startActivity(Intent(this, MainActivity::class.java))
}
else{
ActivityCompat.requestPermissions(this, permissions, 200);
}
override fun onRequestPermissionsResult(requestCode: Int,
permissions: Array<String>, grantResults: IntArray) {
when (requestCode) {
// check requestCode and do something
}
}
}
【问题讨论】:
-
你是从 Fragment 还是 Activity 调用
requestPermission?发布您的完整活动代码。 -
我从一个活动中调用。这是完整的活动代码 - pastebin.com/4SSNLvxP
标签: android kotlin runtime-permissions