最近学习安卓开发,在使用下面的权限请求命令的时候,编译会出现Unresolved reference: Manifes的问题
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.CAMERA),1)
Unresolved reference错误一般是找不到依赖的包或者库,但是这个Manifest就很令人疑惑了,因为我的AndroidManifest.xml文件显然是正常的,我也在Manifest里添加了必要的权限请求代码.如下.
<uses-permission android:name="android.permission.CAMERA" />
网上找了一圈,有一个解决办法是在Manifest前面加上android,就可以了.就像下面
ActivityCompat.requestPermissions(this, arrayOf(android.Manifest.permission.NFC_TRANSACTION_EVENT,android.Manifest.permission.CAMERA),1)
虽然确实是正常运行了,但是这显然不能解决我的疑惑,后来又找了一些程序,才发现别人正常运行的代码前面import都有一行
import android.Manifest
到这里就很显然了,这里Manifest和AndroidManifest.xml里的Manifest标签不是一回事.这里的Manifest.permission.XXX是android包的一个类,主要是用来定义权限的命令的名称.就好像c语言开发中的u8,u16一样,直接使用会有问题,必须要先定义才能使用.