Android 应用程序在某些设备上执行失败

Android app failure of execution in some devices

在我最近上传到 Google Play 的 application 中,有一些用户报告说该应用程序甚至无法执行。特别是据报道,这发生在

应用的权限是

<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="22" />

文件功能可能存在代码不兼容问题,因为应用程序每次执行时都会检查特定文件夹是否存在,如果不存在则尝试创建它。但是,由于我无法访问该设备,所以我无法确定任何事情。

所以问题是:

对于应用程序的权限,该设备是否有任何特定限制?造成这种有问题的行为的代码中可能存在什么问题?

提前感谢您的任何提示或建议。

问题出在我声明应用程序将以横向模式出现的 MainActivity 的第三行...

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

出于某种原因,我不明白该行在某些设备中造成内存溢出,应用程序立即崩溃。当我创建 Nexus 5 API 22 x86 虚拟设备并重现这种情况时,我设法通过尝试和错误找到了错误代码。

解决方案是删除上面的错误行并键入

        android:screenOrientation="landscape"

在 AndroidManifest.xml 文件中。