我正在使用adobe AIR开发游戏。我不想将整个AIR运行时捆绑到我的APK中,因为它的大小越来越大。相反,我想与应用程序的启动连接,并检查设备上是否安装了adobe AIR。如果未安装,我会将用户发送到Google Play以下载Adobe AIR。
我的目的是制作一个原生的Android扩展程序,并在应用程序启动之前用Java编写代码。到现在为止,我无法找到可以进行检查的地方。 因为一旦应用程序启动并且它没有找到安装的AIR应用程序,它就会崩溃并出现异常: java.lang.UnsatisfiedLinkError:找不到本机方法:com.adobe.air.AIRWindowSurfaceView.nativeSurfaceCreated :()
有什么想法吗?
答案 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。我把它留给你判断。