Android 应用程序在某些设备上执行失败
Android app failure of execution in some devices
在我最近上传到 Google Play 的 application 中,有一些用户报告说该应用程序甚至无法执行。特别是据报道,这发生在
- 三星 S4
- LG Nexus 4
- 索尼 Xperia Z2
- 三星 Note 1 (N7000) (ANDROID 4.1.2)
应用的权限是
<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 文件中。
在我最近上传到 Google Play 的 application 中,有一些用户报告说该应用程序甚至无法执行。特别是据报道,这发生在
- 三星 S4
- LG Nexus 4
- 索尼 Xperia Z2
- 三星 Note 1 (N7000) (ANDROID 4.1.2)
应用的权限是
<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 文件中。