【问题标题】:IBM Worklight 6.1 - Questions about "Worklight Settings"IBM Worklight 6.1 - 关于“Worklight 设置”的问题
【发布时间】:2014-01-18 14:01:53
【问题描述】:

我在 Android 设备上的设置部分遇到了一些问题。目前有2个问题:

  1. 设置页面打不开。我按下手机上的设置按钮,然后出现“Worklight 设置”选项。当我点击设置应该出现,但它没有出现。如果我按下“Worklight 设置”按钮然后旋转设备,就会出现设置页面……这个错误发生在 4.3.0、4.2.2 和 4.0.4(我尝试过的每个设备)上。在 4.2.2 上值得注意的是,如果我将屏幕休眠并重新打开,则会出现设置页面。

  2. 设置页面按钮标记为“Worklight 设置”我想更改它,我认为修改以下内容可以解决问题,但它似乎没有任何作用:

    <activity android:label="Worklight Settings" android:name="com.worklight.common.WLPreferences"/>

我正在使用 Worklight Studio 版本 6.1.0.00-20131219-1900

【问题讨论】:

    标签: android ibm-mobilefirst worklight-runtime


    【解决方案1】:

    问题 #2
    看这个问题的详细解释:IBM Worklight - How to change the default "Worklight Settings" string?

    问题 #1
    请注意 LogCat 中打印的以下警告:

    12-31 19:47:26.874:W/test(1412):您的应用程序正在使用 WL.OptionsMenu API。请注意,如果您的应用程序面向 Android 3.0 (API 级别 11)或更高,WL.OptionsMenu 可能无效, 取决于设备。

    Documentation link

    这是因为在更高的 API 级别中,Google 已将 Android 中的操作栏 UI 小部件转移到替换选项菜单的操作栏 UI 小部件上。 Worklight 尚不支持 Android 操作栏。

    进入 Worklight 设置的方法是点击选项菜单中的按钮。选项菜单结合更高的 API 级别可能在各种设备中工作或不工作,这解释了您看到的不稳定行为。

    底线是:在添加操作栏支持之前就是这样。这种行为充其量在较新的操作系统版本上会不稳定,并且可能无法正常工作。


    下面的实验可以使用minSdkVersion 8、10、13 或 15(您需要通过 Android SDK 安装)来完成,在每个实验中您可能会看到不同的体验:工作按钮,不工作按钮,根本没有按钮,旋转时崩溃,在某些情况下不显示......以及其他未知现象。这是由于 Worklight 中缺乏对 Action Bar 的支持,以及 Android 本身在 API 级别之间的支持不断变化。


    Worklight 6.0.0.1 中带有 Android 环境的新应用程序:

    • minSdkVersion:8,构建目标 2.2,使用 Android 2.2 的 AVD:工作
    • minSdkVersion: 8, Build Target 4.0.3, AVD using Android 4.0.3: working
    • minSdkVersion:8,构建目标 4.2.2,使用 Android 4.2.2 的 AVD:工作
    • minSdkVersion:8,构建目标 4.3,使用 Android 4.3 的 AVD:工作

    =====

    导入到 Worklight 6.1.0.0 的相同应用程序:
    它已升级到 Cordova 3.1,您还会收到以下消息:

    FWLST1124W:建议您的 Android 应用程序将针对用于构建 android 的相同 API 级别 项目。用于编译项目的 API 级别指定为 Project / Properties / Android 对话框中的 Project Build Target。 通过添加 android:targetSdkVersion 属性到 AndroidManifest.xml 和设置 它具有相同的值。

    但我们不要这样做,所以它会和你的相似......

    • minSdkVersion:8,构建目标 2.2,使用 Android 2.2 的 AVD:工作
    • minSdkVersion:8,构建目标 4.0.3,使用 Android 4.0.3 的 AVD:工作
    • minSdkVersion:8,构建目标 4.2.2,使用 Android 4.2.2 的 AVD:工作
    • minSdkVersion:8,构建目标 4.3,使用 Android 4.3 的 AVD:工作

    =====

    Worklight 6.1.0.0 中带有 Android 环境的新应用程序:
    默认情况下使用 minSdkVersion 9,但我们也可以使用 8 在 Android 2.2 上运行它。

    • minSdkVersion: 8, targetSdkVersion: 18, Build Target 2.2, AVD using Android 2.2: 编译失败

      因为AndroidManifest.xml 现在默认也使用android:configChanges="orientation|keyboardHidden|screenSize。 Android 2.2 不支持screenSize...


    • minSdkVersion:8/13,targetSdkVersion:18,构建目标 4.0.3,使用 Android 4.0.3 的 AVD:无按钮
    • minSdkVersion:8/13,targetSdkVersion:18,构建目标 4.2.2,使用 Android 4.2.2 的 AVD:无按钮
    • minSdkVersion:8/13,targetSdkVersion:18,构建目标 4.3,使用 Android 4.3 的 AVD:无按钮

    补充阅读:Relation between android:minSdkVersion, android:targetSdkVersion and "target"

    【讨论】:

    • 我的 AndroidManifest.xml 还没有 taretSdkVersion。它只使用 android:minSdkVersion="8"。这个问题是在我将 Worklight 从 6.0 升级到 6.1 时开始出现的。另一位开发人员使用与我相同的 AndroidManifest(但仍在 Worklight 6.0 上)能够将应用程序部署到我的设备上并且菜单有效。也许6.1有问题?我还尝试在函数 wlCommonInit() 之前更改 WL.ClientMessages.wlSettings,但它没有用。这可能与我在 Android Manifest 中的 sdk 版本有关吗?
    • 对不起,我不知道你在那里做什么。如果你愿意,你可以把项目发给我,我有时间会去看看;另外,下次请务必提及所有细节……您现在才提到您进行了升级。发送项目及其升级前的状态。
    • 是的,抱歉,直到现在我才意识到我最近也进行了升级。
    • 我已经尝试检查菜单工作的旧版本代码,然后使用 6.1 版构建并部署到我的手机上,但菜单仍然无法工作。我会努力看看能否在应用 6.1 版更改之前将代码发送给您,谢谢。
    • 不需要。请参阅我的更新答案。我测试了所有环境。就是这样。
    猜你喜欢
    • 2013-12-27
    • 1970-01-01
    • 2014-03-10
    • 1970-01-01
    • 2014-05-20
    • 1970-01-01
    • 2017-02-23
    • 1970-01-01
    • 2015-02-20
    相关资源
    最近更新 更多