我有一个可通过ShareIntent显示图片的应用。我有要求存储权限的正确代码:
if (Build.VERSION.SDK_INT >= 23) {
if (getActivity().checkSelfPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
doThing()
} else {
ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
Toast.makeText(getActivity(), R.string.permission, Toast.LENGTH_LONG).show();
}
} else {
doThing()
}
一个用户报告说,他可以在Android Marshmellow上使用我的应用来存储(例如手机存储,外部存储)中的照片,但是当他从SD卡(可移动存储)中共享时不起作用。为什么会这样呢?我还听说访问SD卡需要一个特殊的提示(并且在其他应用程序中也看到过),但是为什么这样做以及如何做?