使用ADT v22.3.0-887826打了几个小时从SD卡读取内容后,我只能认为我的清单被忽略了。在hello world项目中添加4行。
清单中有一个
<permission android:name="android.permission.READ_EXTERNAL_STORAGE"></permission>
MainActivity.java中的三个
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String permission = "android.permission.READ_EXTERNAL_STORAGE";
int res = getBaseContext().checkCallingOrSelfPermission(permission);
System.out.println("permission:"+(res == PackageManager.PERMISSION_GRANTED));
}
输出为“permission:false”
答案 0 :(得分:2)
你应该使用
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
而不是
<permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
当您希望自己的应用为其他应用提供某些权限时,会使用“permission”标记。
当你要求许可时,使用“uses-permission”,ex read_external_storage,internet,sensors等。
答案 1 :(得分:0)
为什么android模拟器会忽略我的清单权限?
您没有正确设置权限,应该是这样的:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
下面的链接应该更好地帮助您理解为什么您的权限应该这样写。
http://developer.android.com/guide/topics/security/permissions.html
http://developer.android.com/guide/topics/manifest/uses-permission-element.html
http://developer.android.com/guide/topics/manifest/manifest-intro.html