Определите, предустановлен ли Adobe AIR на устройстве Android

#android #air

#Android #air

Вопрос:

Я разрабатываю игру с использованием Adobe AIR. Я не хочу связывать все время выполнения AIR с моим APK, потому что он становится больше по размеру. Вместо этого я хочу подключиться к запуску приложения и проверить, установлен ли Adobe AIR на устройстве. Если он не установлен, я отправлю пользователя в Google Play для загрузки Adobe AIR.

Моя идея состояла в том, чтобы создать собственное расширение для Android и закодировать процесс на Java непосредственно перед запуском приложения. До сих пор я не мог найти то место, где я могу выполнить проверку. Потому что, как только приложение запускается и не находит установленное приложение AIR, оно выходит из строя с исключением: java.lang.Ошибка UnsatisfiedLinkError: собственный метод не найден: com.adobe.air.AIRWindowSurfaceView.nativeSurfaceCreated:()

Есть идеи?

Ответ №1:

Вы можете использовать getPackageInfo (String packageName, int flags), при условии, что вы знаете имя пакета, следовательно, и приложения, которое вы ищете.

Вот фрагмент кода, который я протестировал, и он работает нормально.

 try {
        this.getPackageManager().getPackageInfo("com.adobe.air", 0);

        //continue if Adobe AIR is installed
        Toast.makeText(this,"ADOBE AIR FOUND",Toast.LENGTH_LONG).show();

    } catch (PackageManager.NameNotFoundException nameNotFound) {

        //measures to be taken if Adobe AIR is not installed
        Toast.makeText(this,"ADOBE AIR ABSENT",Toast.LENGTH_LONG).show();

        //launches the Play Store listing for Adobe AIR for installation
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setData(Uri.parse("market://details?id=com.adobe.air"));
        startActivity(intent);
    }
  

Помните, что это работает только до тех пор, пока вы знаете название пакета приложения и пока оно остается неизменным.

Редактировать :

У меня нет опыта работы с Adobe AIR, так что от меня было бы мало пользы. Поиск в Google приводит меня к пониманию, что для этого не существует метода, санкционированного Adobe. Тем не менее, я нашел ссылку, которая, похоже, может это сделать, хотя и сильно взломана. Я оставляю это на ваше усмотрение.

Расширение AIR для Android

Комментарии:

1. Спасибо. Я действительно знаю, как это сделать. Чего я не знаю, так это КУДА поместить этот код sippet. Поскольку я использую Adobe AIR, я не могу получить доступ к методу создания приложения onCreate. Или я могу?

2. У меня было ощущение, что это так. Пожалуйста, посмотрите правку.