我有一个 Android 应用程序,我想通过移植 BB Android 运行时向 BlackBerry 10 用户提供该应用程序。唯一的绊脚石是我的 Android 应用程序使用运行时不支持的 Google Maps API (com.google.android.maps)。地图屏幕只是应用程序的一个小功能,我很高兴为黑莓用户禁用它,但这可能吗?我不想维护应用程序的两个副本,我可以以某种方式对一个应用程序进行编码,以便转换为 BAR 工作,但地图仍可在 Android 上使用?
3 回答
地图屏幕只是应用程序的一个小功能,我很高兴为黑莓用户禁用它,但这可能吗?
您可以添加android:required="false"
到您的<uses-library>
元素,并在运行时检测您是否有MapActivity
该类,然后再尝试链接到您的地图。这是一个演示这一点的示例应用程序。
理论上,BB 的打包程序应该允许这样做。不管是不是,我不能说。
事实证明,我想做的事情是不可能的——任何对 Google Maps API 的引用都必须从应用程序中完全删除。查看 BlackBerry 论坛的回复:
“不,这行不通。节省您尝试找到修复程序的时间,只需将您的项目复制到一个新项目并为黑莓进行所需的更改。如果您正在使用源代码控制,那么您可以尝试为此进行分支目标。
顺便一提。如果你想在你的应用程序中使用 Google 地图,可以使用 webview 和 Google 的 javascript API 来完成。”
您必须删除对 Android 代码MapView
或MapActivity
Android 代码中的所有引用,才能移植到 BlackBerry。我建议更进一步:用 Javascript 替换MapView
并WebView
加载 Google Maps 移动站点。更多信息可以在这里找到:
http://developer.blackberry.com/android/apisupport/apisupport_mapping_support.html
是的,这将导致维护您的应用程序的两个版本,但它将为 BlackBerry 用户提供更好的体验。
希望这可以帮助。