我正在开发一个android应用程序,它需要为读写外部存储提供权限。我的要求是从图库中选择一张图片并在我的应用程序中使用它。一切工作都很好,除了棉花糖设备。我想提供棉花糖的许可。谁能帮我这个?棉花糖的存储和图库使用的读取和写入权限
6
A
回答
15
它可以作为以下操作来实现的东西......通读Runtime permissions - Android M和its reference project
public class MainActivity extends AppCompatActivity implements ActivityCompat.OnRequestPermissionsResultCallback{
private static final int REQUEST_WRITE_PERMISSION = 786;
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == REQUEST_WRITE_PERMISSION && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
openFilePicker();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
requestPermission();
}
private void requestPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_WRITE_PERMISSION);
} else {
openFilePicker();
}
}
}
2
。
权限流已更改,需要在运行时询问权限,最好在需要时进行。同样的..权限也被归类为Normal and Dangerous这也将导致权限组。
0
此外,如果你想要求多个权限。你可以这样做。
private ArrayList<String> permisos;
private void someMethod()
{
..
verificarPermisos(Manifest.permission.READ_EXTERNAL_STORAGE);
verificarPermisos(Manifest.permission.ACCESS_FINE_LOCATION);
verificarPermisos(Manifest.permission.ACCESS_COARSE_LOCATION);
if (permisos.size()!=0)
{
solicitarPermisos(permisos.toArray(new String[permisos.size()]));
}
..
}
@TargetApi(23)
void verificarPermisos(String permiso){
if (ContextCompat.checkSelfPermission(this,permiso)
!= PackageManager.PERMISSION_GRANTED) {
permisos.add(permiso);
// Should we show an explanation?
if (shouldShowRequestPermissionRationale(permiso)) {
}
}
}
@TargetApi(23)
void solicitarPermisos(String[] permiso){
requestPermissions(permiso, 1);
}
首先,我检查权限已发或不符合 “verificarPermisos()” 方法。如果他们没有被授予,我将它们添加到“permisos”arraylist。最后,未经授权的权限被重新设置为以字符串[]数组格式传递。
请注意,您只能从MashMellow(API 23)或更高版本请求权限。因此,如果您的应用在MashMellow之前也瞄准了Android版本,则可以使用“@TargetApi()”注释,并且仅当目标为API 23或更高版本时才会调用权限方法。
希望能帮助,问候。
相关问题
- 1. osmdroid和棉花糖的动态权限
- 2. Android的棉花糖权限
- 3. 棉花糖权限和解释
- 4. android棉花糖 - SMS_RECEIVED权限
- 5. 棉花糖权限gmaps
- 6. RunTime权限棉花糖Android
- 7. 棉花糖权限错误
- 8. 棉花糖权限模型
- 9. Lvl库和android棉花糖
- 10. 从onCreate上的棉花糖和以上棉花糖设备上读取外部存储中的文件
- 11. Android的自定义权限 - 棉花糖
- 12. Osmdroid和棉花糖
- 13. 安卓棉花糖权限错误
- 14. 启用获取WiFi详细信息的权限 - Android棉花糖
- 15. Codename one棉花糖授权
- 16. 我的壁纸应用程序在Android棉花糖存储权限问题
- 17. Android棉花糖损坏存储数据和块写入内部SD卡
- 18. 没有在棒棒糖和棉花糖
- 19. 当使用瓶棉花糖时访问棉花糖装饰者
- 20. 使用“Permissions Dispatcher”添加棉花糖权限
- 21. PhoneGap上Android棉花糖的应用权限
- 22. 棉花糖运行时权限崩溃的应用程序
- 23. 在棉花糖
- 24. SqlAlchemy的关系和棉花糖
- 25. 使用后退按钮取消棉花糖上的权限请求对话框
- 26. 如何处理下面的棉花糖的权限问题Android
- 27. 从android白色棉花糖清除应用程序棉花糖
- 28. Android的棉花糖权限问题与SDK 23
- 29. Android的棉花糖 - 权限状态变化
- 30. 的Android棉花糖权限模型始终未授予
权限不会根据os级别而改变。它与以下相同。 <使用权限android:name =“android.permission.WRITE_EXTERNAL_STORAGE”/> <使用权限android:name =“android.permission.READ_EXTERNAL_STORAGE”/> –
我已经在我的manifest中给予该权限..但是应用程序碰撞时,棉花糖用户从图库中选择图像.. saying权限用餐 – tiger
其无关紧要的权限是不同的。它是关于你必须问在棉花糖的用户在运行时的权限 –