如何解决如何在应用程序中下载后安装 apk,或弹出请求安装?
我创建了一个 html 页面,其中包含列出 android apk 的表格。
我还有一个显示 html 页面的 APK,当点击下载按钮时,它会下载所选的 APK...完美!
我想要做的是,一旦下载完成,它就会要求安装应用程序。
我已经尝试了一些东西,但我做的太多了,有人介意帮忙拿些啤酒代币吗,
谢谢
解决方法
您可以在下载完成时添加一个 detail": "encode() missing 1 required positional argument: 'output'
作为回调,然后在该回调中调用以下方法-
BroadcastReceiver
不要忘记在您的 AndroidManifest.xml 文件中添加此权限 -
public static void installapk(File apkFile,Context context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
if (apkFile.exists()) {
Intent install = new Intent(Intent.ACTION_VIEW);
install.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
install.setDataAndType(Uri.fromFile(apkFile),"application/vnd.android.package-archive");
Uri apkUri =
FileProvider.getUriForFile(context,"com.yourcompany.yourapp.fileprovider",apkFile);
install.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
install.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
install.setDataAndType(apkUri,"application/vnd.android.package-archive");
context.startActivity(install);
} else {
install.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
install.setDataAndType(Uri.fromFile(apkFile),"application/vnd.android.package-archive");
context.startActivity(install);
}
} else {
System.out.println("apk doesnot exist.");
}
}
}
你还需要在你的AndroidManifest.xml中创建fileprovider权限-
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
然后在 res/xml 文件夹中创建一个名为 file_paths.xml 的新 xml 文件并粘贴此代码 -
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"/>
</provider>
快乐编码!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。