我使用genymotion开发应用程序。 我的虚拟设备是Google Nexus 5X - 6.0.0 1080x1920,但是当我点击从虚拟设备直接打开图库时,设备出现错误:很遗憾画廊已经停止。
我无法解决此错误。 我发布的应用程序需要访问图库,现在我无法对其进行调试。
答案 0 :(得分:0)
当您在 Android 6.0(Marshmallow)上运行应用时,您应该权限检查以读取或写入图库,否则应用会崩溃。
权限检查应如下所示:
public class YourActivity extends AppCompatActivity implements ActivityCompat.OnRequestPermissionsResultCallback{
private static final int REQUEST_WRITE_PERMISSION = 123;
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == REQUEST_WRITE_PERMISSION && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
openGallery();
}
}
@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 {
openGallery();
}
}
}
请勿忘记在Manifest.xml
中添加权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />