【问题标题】:Genymotion Unfortunately gallery has stoppedGenymotion 不幸的是画廊已经停止
【发布时间】:2017-03-16 05:03:16
【问题描述】:

我使用 genymotion 开发应用程序。 我的虚拟设备是 Google Nexus 5X - 6.0.0 1080x1920,但是当我点击从虚拟设备直接打开图库时,设备出现错误:不幸的是图库已停止。

我无法修复此错误。 我开发的应用需要访问图库,现在我无法调试它。

【问题讨论】:

  • 你得到了什么错误日志?
  • @Piyush 我怎样才能看到 Genymotion 的日志?
  • 请同时发布 logcat
  • 不,我只在 Genymotion 虚拟设备上打开画廊,不要从我的应用程序中打开!
  • 如何使用Genymotion开发应用程序???这真的很复杂你的意思是你正在使用 Genymotion 来测试你的应用程序。我不知道原因,但我的建议是你使用 Android Studio Emulator。快速简单。

标签: android react-native genymotion


【解决方案1】:

当您在 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" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-18
    • 2012-08-19
    • 2013-04-06
    相关资源
    最近更新 更多