2011-08-30 115 views
1

本地.apk文件安装意图当我在Android 2.1安装其他应用程式的新APK,我只是用:上姜饼

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

它开辟了新的安装对话框,我可以使用它。

现在,我尝试姜饼2.3.3相同的代码,当我开始这个安装的意图,它让我选择“选择使用操作的应用程序”。有以下选择:Google talk,video,videotalk,DRM,Market。

发生了什么事?姜饼的安装意图是否改变了?如何在Android Gingerbread上制作新的安装意图?感谢

+0

尝试使用适当的'File'构造函数而不是字符串连接创建'File'对象,看看是否有帮助。 – CommonsWare

+0

不,问题是,它看起来像Android 2.3的不知道对应的MIME类型... – Waypoint

+0

['PackageInstaller'确实](http://www.google.com/codesearch#cZwlSNS7aEw/packages/apps/PackageInstaller/ AndroidManifest.xml&exact_package = android&q = application/vnd.android.package-archive&type = cs) – CommonsWare

回答

1

的API参考says,有没有在startActivity(意向)方法来施加任何改变。 ACTION_VIEW启动默认活动来处理一段数据,或者要求选择一个作为默认值(如我所见)。如果您正在获取要启动的应用程序列表,则您没有针对此类数据的默认操作。另外,请检查您的设备是否已启用非市场应用。

+0

嗨,谢谢你的回复。我在模拟器和手机Galaxy S上尝试它,仍然存在相同的问题。我有非市场应用程序安装启用,真的不知道是什么问题 – Waypoint

+0

@Hmyzak,你可以尝试使用ACTION_GET_CONTENT而不是当前操作? (不幸的是我没有我周围的任何东西来测试)。 –

+0

我已经尝试过了,这是不是解决办法,我得到ACTION_GET_CONTENT – Waypoint