在我的应用程序中,我从我的活动调用一个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