0

我正在尝试将开源游戏添加到我的应用程序中。我的意思是,我开发了一个应用程序。当用户安装我的应用程序时,应用程序中会有按钮,当用户点击按钮时,将启动内部 apk(开源游戏)。

但是,我不知道我应该把游戏apk文件放在哪里?我不知道如何调用游戏 apk?

我发现以下代码从 sdcard 启动任何 apk(我猜)。

String fileName = Environment.getExternalStorageDirectory() + "/myApp.apk";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");
startActivity(intent);

但是,我打算准备一个 APK(游戏会放在 res/raw 这样的地方)。

4

1 回答 1

2

应用程序中会有按钮,当用户点击按钮时,将启动内部 apk(开源游戏)。

如果您的意思是,将启动应用程序(内部 apk),那么您不了解它是如何工作的。所以让我解释一下:APK 不像 Windows 系统上的 .EXE。我的意思是,你不能只是“运行”一个 APK。

APK 是一个包含应用程序的包,您唯一能做的就是安装它。您在上面发布的代码似乎调用了 android 应用程序安装程序,它会这样做:安装应用程序(而不是运行它)。如您所见,应用程序必须位于外部存储(SD 卡)中,这是因为应用程序安装程序无法直接访问您的 /res/raw。

所以,你要做的就是将 APK 从 res/raw 复制到 SDCard(Google 是你的朋友),然后使用上面的代码。同样,这不会执行应用程序,它只会安装它。安装后,您可以从应用程序执行它,执行以下操作:

Intent intent = new Intent();
intent.setClassName("com.android.bla", "com.android.bla.YourActivity");
startActivity(intent);
于 2010-11-12T14:00:47.453 回答