确定Android设备上是否预装了Adobe AIR

时间:2014-07-02 11:32:54

标签: android air

我正在使用adobe AIR开发游戏。我不想将整个AIR运行时捆绑到我的APK中,因为它的大小越来越大。相反,我想与应用程序的启动连接,并检查设备上是否安装了adobe AIR。如果未安装,我会将用户发送到Google Play以下载Adobe AIR。

我的目的是制作一个原生的Android扩展程序,并在应用程序启动之前用Java编写代码。到现在为止,我无法找到可以进行检查的地方。 因为一旦应用程序启动并且它没有找到安装的AIR应用程序,它就会崩溃并出现异常: java.lang.UnsatisfiedLinkError:找不到本机方法:com.adobe.air.AIRWindowSurfaceView.nativeSurfaceCreated :()

有什么想法吗?

1 个答案:

答案 0 :(得分: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的经验,所以我没什么用处。谷歌搜索让我明白,没有Adobe 认可的方法。尽管如此,我发现有一个链接似乎能够这样做,虽然很多hacky。我把它留给你判断。

Extending AIR for Android