为何清单用android.permission.RECEIVE_SMS,运行时用Manifest.permission.RECEIVE_SMS?
关于
android.permission.RECEIVE_SMS与Manifest.permission.RECEIVE_SMS的区别解析 这两者本质是同一个Android权限,只是不同场景下的引用形式不同,具体区别如下:
Manifest文件中使用完整权限字符串
在AndroidManifest.xml里声明权限时,必须写权限的完整标识字符串android.permission.RECEIVE_SMS——这是Android系统定义权限时的唯一官方标识,系统会通过这个精确的字符串来识别你要声明的权限。代码中使用SDK常量引用
Manifest.permission.RECEIVE_SMS是Android SDK为开发者封装的常量,它的实际值就是字符串"android.permission.RECEIVE_SMS"。使用这个常量的好处是:- 避免手动输入字符串时出现拼写错误
- 支持IDE自动补全,提升开发效率和代码准确性
你可以通过代码验证这一点:
// 打印常量值 Log.d("PermissionCheck", Manifest.permission.RECEIVE_SMS); // 输出结果为:android.permission.RECEIVE_SMS
总结:二者指向的是同一个权限,只是写法不同,不会对权限的声明、运行时请求逻辑产生任何差异。
内容的提问来源于stack exchange,提问作者dcarl661
相关产品推荐
相关产品推荐

