2010-11-12 63 views
0

我想添加一個開源遊戲到我的應用程序。我是說,我開發了一個應用程序。當用戶安裝我的應用程序時,應用程序中會出現按鈕,當用戶點擊按鈕時,內部apk(開源遊戲)將啓動。如何從我的應用程序調用一個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)。

回答

2

會有按鈕,在應用程序,並且當用戶輕敲按鈕,內部APK(開源遊戲)將被啓動。

如果你的意思是,該應用程序(內部APK)將被啓動,那麼你不明白是如何工作的。所以讓我解釋一下:APK不像Windows系統上的.EXE。我的意思是,你不能只是「運行」一個APK。

APK是一個包含應用程序的軟件包,您可以用它做的唯一事情就是安裝它。你上面發佈的代碼似乎會調用android應用程序安裝程序,它會這樣做:安裝應用程序(不運行它)。正如你所看到的,應用程序必須位於外部存儲(SD卡)中,這是因爲應用程序安裝程序無法直接訪問您的/ res/raw。

所以,你需要做的是將res/raw複製到SD卡(谷歌是你的朋友),然後使用上面的代碼。同樣,這不會執行應用程序,它只會安裝它。安裝完成後,你可以LILE做的事情從你的應用程序執行:

Intent intent = new Intent(); 
intent.setClassName("com.android.bla", "com.android.bla.YourActivity"); 
startActivity(intent); 
+0

基督教,謝謝您的回答。我只知道APK。我不明白的一點是內部APK應該放在哪個平臺上。我應該把bla.apk放在「res」還是「res/raw」?哪裏? – user505806 2010-11-12 14:25:55

+0

是的,那是個好地方。但是,這只是一個開始。正如我已經指出的那樣,您必須編寫一些代碼將該文件從原始目錄複製到SD卡。 – Cristian 2010-11-12 15:03:44

+0

我困惑。 APK中有一些目錄(例如:「assests」,「res」,「raw」等)。什麼目錄是好的放置遊戲的apk,我該如何改變你的示例代碼來從遊戲apk放置的目錄中讀取APK。 – user505806 2010-11-12 15:09:00

相關問題