在我最近在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" />
可能的代码不兼容可能在文件函数上,因为应用程序在每次执行时检查特定文件夹是否存在,并且如果它不存在则尝试创建它。但是,由于我无法访问该设备,因此无法确定是什么。
所以问题是:
有关应用程序权限的设备是否有任何特殊限制?代码中可能存在哪些问题导致这种有问题的行为?
提前感谢您提供任何提示或建议。
答案 0 :(得分:0)
问题发生在MainActivity的第三行,我宣布该应用程序将以横向模式显示...
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
由于某种原因,我不明白该行在某些设备中造成了内存溢出,应用程序立即崩溃。当我创建一个Nexus 5 API 22 x86虚拟设备并重现这种情况时,我设法通过尝试和错误找到有问题的代码。
解决方案是删除上面的错误行并输入
android:screenOrientation="landscape"
在AndroidManifest.xml文件中。