在我的應用程序中,我從我的活動調用一個JavaScript界面。在與此界面相關的webview中,我要求用戶下載並安裝APK。我正在使用「startActivityForResult」來啓動安裝過程(下載文件後)。這裏是代碼:安裝APK以編程方式 - 返回值
Intent promptInstall = new Intent(Intent.ACTION_VIEW);
promptInstall.setDataAndType(Uri.fromFile(new File(PATH + "app.apk")), "application/vnd.android.package-archive");
startActivityForResult(promptInstall, ACCEPT_INSTALL);
我在主要活動類中使用「onActivityResult」來捕獲上述活動的返回值。下面是代碼:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.d("requestCode, resultCode from Install APK: ", Integer.toString(requestCode) + ", " + Integer.toString(resultCode));
}
我現在面臨的問題是,「resultCode爲」總是返回0,無論用戶是否選擇安裝應用程序或不安裝應用程序。我真的需要知道用戶是否安裝了應用程序。關於爲什麼返回值始終爲0的任何想法?
我的最後一招是使用packagemanager檢查在onActivityResult功能的應用程序的存在,以確定是否安裝或沒有應用程序,但我想知道爲什麼返回值始終爲0
非常感謝...
我也面臨同樣的問題,這是可笑的 – tasomaniac 2012-06-07 15:41:54