我忘了在清单中添加权限。
解决
原始问题
我正在开发一个小应用程序,允许用户体验测试人员从用户输入的android中获取信息。
为此,我需要在所有其他视图之上创建一个透明视图。 我尝试以这种方式获得许可:
class MainActivity : AppCompatActivity() {
val REQUEST_CODE = 10101
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
if (checkDrawOverlayPermission()) {
//startService(Intent(this, TrackService::class.java))
}
}
fun checkDrawOverlayPermission(): Boolean {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
return true
}
if (!Settings.canDrawOverlays(this)) {
val intent = Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + packageName))
startActivityForResult(intent, REQUEST_CODE)
return false
} else {
return true
}
}
@TargetApi(Build.VERSION_CODES.M)
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) {
if (requestCode == REQUEST_CODE) {
if (Settings.canDrawOverlays(this)) {
//startService(Intent(this, TrackService::class.java))
}
}
}
}
但是,当我进入Windows(使用此代码以编程方式)时,我无法授予访问权限。
有人遇到此问题,还是作为修复程序?