[AIR for Android] 91ANE 横竖屏android设备闪退BUG的解决方式

这里做一个记录。

91ANE BUG描述

目前我的项目是 必须要求 横屏的。

在昨天有玩家 和 平台方的反馈  91的登录 在切换横竖屏幕部分设备(例如天语某机器 )上出现闪退的情况

而平台方只要他们测试的有一台机器有问题 他们就会把你的版本打回去 拖延你升级时间 推广时间 非常恶心。

所以这个BUG虽然只针对极少极少的机器但是 也必须马上解决。

我的解决方式

经过我的检查 91ANE共提供三种显示方式的选择:

SCREEN_ORIENTATION_PORTRAIT 竖屏(值为:0)

SCREEN_ORIENTATION_LANDSCAPE 横屏(值为:1)

SCREEN_ORIENTATION_AUTO 自动(由重力感应自动选择)(值为:2)

代码中如下设置:

我的解决方式为 在XML属性中新增强制横屏  在代码设置中设置:

(A) NdCommplatform.getInstance().ndSetScreenOrientation(SCREEN_ORIENTATION_LANDSCAPE );

(B)然后在XML中91的activity设置如下(红色部分为我为解决这个BUG而新加入的属性):

<!– 91开放平台 –>
<activity
android:name=”com.nd.commplatform.activity.SNSControlCenterActivity”
android:configChanges=”orientation|keyboardHidden|navigation”
android:launchMode=”singleTask”
android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”
android:windowBackground=”@null”
android:screenOrientation=”landscape”
android:windowSoftInputMode=”adjustPan” >
</activity>
<activity
android:name=”com.nd.commplatform.activity.SNSLoginActivity”
android:configChanges=”orientation|keyboardHidden|navigation”
android:launchMode=”singleTask”
android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”
android:windowBackground=”@null”
android:screenOrientation=”landscape”
android:windowSoftInputMode=”adjustPan” />
<receiver
android:name=”com.nd.commplatform.versionupdate.ND2VersionUpdateNotify”
android:exported=”false”
android:process=”android.intent.nd.sns.commplatform.versionupdate” />
<service
android:name=”com.nd.commplatform.versionupdate.ND2VersionUpdateService”
android:exported=”false”
android:process=”android.intent.nd.sns.commplatform.versionupdate” />
<service
android:name=”com.nd.commplatform.service.NdNewMessageNotification”
android:enabled=”true”
android:exported=”false” />
<activity
android:name=”com.nd.commplatform.activity.SNSAppPromotionActivity”
android:configChanges=”orientation|keyboardHidden|navigation”
android:theme=”@android:style/Theme.NoTitleBar”
android:windowSoftInputMode=”adjustPan”
android:screenOrientation=”landscape”
android:windowBackground=”@null”/>
<service
android:name=”com.nd.commplatform.service.NdDownloadService”
android:process=”:com.nd.commplatform.download”
android:enabled=”true”
android:exported=”false”/>
(C)在<initialWindow>中修改<autoOrients>true</autoOrients> 禁止转屏

修改之后 就在所有设备都强制横屏了。解决了这个深恶痛绝的BUG。

《[AIR for Android] 91ANE 横竖屏android设备闪退BUG的解决方式》有8个想法

  1. rect您好,我在接入91ane的时候,工具条没有显示出来,您有遇到过这个问题吗?其他登录,付费功能一切都好。ios上工具条是有的,就是安卓上的工具条不显示。

  2. SDK版本?最近手游业内很多SDK都会更新版本了。因为新闻版署要有动作了。a href=”#comment-493″>@240572111

  3. RECT 你好,我91ANE我到最后一步,取资源取不到,谢谢,帮忙

  4. RECT 你好,我91ANE我到最后一步,取资源取不到,谢谢,帮忙。谢谢了,大哥

  5. 步骤如下 把91的资源放在Android-ARM下,在src下新建 包 [com.nd.commplatform.activity]。 在这个包下新建类R.java。生成的JAR和91JAR合并,生成 ANE 然后还是找不到资源,报错信息如下: Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x0
    谢谢指教,

  6. 请问
    Caused by: android.content.res.Resources$NotFoundException: Resource ID #0×0
    这个问题是什么原因造成的呢?

发表评论

邮箱地址不会被公开。 必填项已用*标注