如何检测Android应用程序是否是Blackberry重新包装版本?

时间:2013-05-15 07:37:45

标签: android blackberry-android

我的应用程序可以使用他们的门户网站轻松地为黑莓设备重新打包。 http://developer.blackberry.com/android/documentation/using_the_bb_packager_1873331_11.html

因此,我可以将.apk文件转换为用户可以在其BB10设备上安装的.bar文件。

我现在关注的是稍微改变用户界面或禁用有关操作系统的某些功能(应用内结算,Google地图,某些意图)。

我想在合法的Android设备上显示一个Map按钮,并在Blackberry端口上删除此按钮。我也有一些与小工具相关的偏好,没有理由出现在BB10设备上

你知道一个完美的方法来检测应用程序是重新包装的还是原始的apk?

我的猜测是使用构建信息,但我很确定有更好的方法来实现这一点。

3 个答案:

答案 0 :(得分:1)

这个问题有点老了但是因为当我在寻找答案时它是谷歌的热门话题,我想我应该在这里发布:

http://supportforums.blackberry.com/t5/Android-Runtime-Development/How-to-Detect-if-an-Android-Application-is-Running-on-a/ta-p/1470313

您可以使用System.getProperty(“os.name”)查询操作系统名称,该名称将在BlackBerry上运行时返回qnx。

答案 1 :(得分:0)

谈论地图,特别是Google地图com.google.android.maps,您无法在java代码或清单文件中对库进行引用,在删除对库的所有引用之前,不会创建.bar。

此外,Q10在屏幕上的比例为1:1,就布局进行会议而言,必须进行调查。

出于同样的原因,创建不同的代码库是我前进的唯一方法。

答案 2 :(得分:0)

您可以将您的Android项目更改为图书馆项目,并添加两个引用该图书馆的不同App项目 将字符串资源添加到./res/values(我称之为static_values.xml)并在其中放置一个字符串(platform =“Android”代表Android,platform =“BB10”)。

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="platform">BB10</string>
</resources>

您可以使用getResources()。getString(R.string.platform)来引用它,并在代码中决定要做什么。