有没有办法能够以编程方式从URL下载并安装另一个Android应用程序? 我试过跟着
Intent promptInstall = new Intent(Intent.ACTION_VIEW);
promptInstall.setDataAndType(Uri.fromFiledwfile), "application/vnd.android.package_archive");
promptInstall.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(promptInstall);
但它给了我错误
java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.example.test/com.example.test.MainActivity}:
android.content.ActivityNotFoundException: No Activity found to handle Intent {
act=android.intent.action.VIEW dat=file:///mnt/sdcard/download/Demo.apk
typ=application/vnd.android.package_archive flg=0x10000000 }
我错过了一些权限吗? 我试着给予
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
但这不允许我在eclipse中编译
如果我做错了,有人可以帮忙告诉我吗
由于 蒙蒂
答案 0 :(得分:1)
如果没有用户确认,您无法安装应用。
一旦你下载了apk,就应该使用ACTION_INSTALL_PACKAGE代替ACTION_VIEW
来自文档:
活动操作:启动应用程序安装程序。
输入:数据必须是content:或file:可以检索应用程序的URI。从JELLY_BEAN_MR1开始,您还可以使用“package:”为已为其他用户安装的当前用户安装应用程序。您可以选择提供EXTRA_INSTALLER_PACKAGE_NAME,EXTRA_NOT_UNKNOWN_SOURCE,EXTRA_ALLOW_REPLACE和EXTRA_RETURN_RESULT。
输出:如果是EXTRA_RETURN_RESULT,则返回安装是否成功。
答案 1 :(得分:0)
Intent browserIntent = new Intent(Intent.ACTION_VIEW,Uri.parse(将url传递给downlad app));
startActivity(browserIntent);
Rest在清单中提供互联网和存储的持久性。