Как определить, является ли приложение Android перепакованной версией Blackberry?
Мое приложение может быть легко переупаковано для устройств Blackberry, используя их веб-портал. http://developer.blackberry.com/android/documentation/using_the_bb_packager_1873331_11.html
Таким образом, я могу превратить мой файл.apk в файл.bar, который пользователи могут установить на свои устройства BB10.
Теперь я хочу немного изменить пользовательский интерфейс или отключить некоторые функции (биллинг в приложении, Google Maps, некоторые намерения), касающиеся ОС.
Я хотел бы, например, отобразить кнопку карты на законных устройствах Android и удалить эту кнопку на порту Blackberry. У меня также есть некоторые настройки, связанные с виджетом, которые не имеют причин появляться на устройстве BB10
Знаете ли вы идеальный способ определить, является ли приложение перепакованным или оригинальным apk?
Я думаю, что использовать информацию о сборке, но я уверен, что есть лучший способ добиться этого.
3 ответа
Этот вопрос немного старый, но так как он был самым популярным в Google, когда я искал ответ, я решил опубликовать его здесь:
Вы можете запросить имя операционной системы с помощью System.getProperty("os.name"), который вернет qnx при работе на BlackBerry.
Вы можете изменить свой проект Android на проект библиотеки и добавить два разных проекта приложения, которые ссылаются на эту библиотеку.
Добавьте строковый ресурс в./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) и решить в коде, что делать.
Говоря о картах, в частности, Google maps com.google.android.maps
, вы не можете иметь ссылки на библиотеку в вашем Java-коде или файле манифеста,.bar не будет создан, пока не будут удалены все ссылки на библиотеку.
Кроме того, Q10 имеет соотношение 1:1 на своем экране, что-то, что нужно будет рассмотреть, насколько ваш макет будет конференц-связь.
По тем же причинам создание другой кодовой базы было для меня единственным выходом.