Android 4.4 安装APK startActivityForResult 直接调用 onActivityResult
其中,请求码>0,标准模式,7.0(真机)、8.0(虚拟机)都可以。
private void installApp() {
Intent intent = new Intent(Intent.ACTION_VIEW);
File file = new File(appTask.path);
textAppProgressStatus.setText("正在安装···");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
Uri contentUri = FileProvider.getUriForFile(this, BuildConfig.APPLICATION_ID + ".fileProvider", file);
intent.setDataAndType(contentUri, "application/vnd.android.package-archive");
} else {
// FIXME: 2018/8/2 Android 4.4 API 19 startActivityForResult 直接调用 onActivityResult
intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
Log.d(TAG, "installApp: 跳转到安装界面");
startActivityForResult(intent, REQUEST_CODE_INSTALL);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
把
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
改为
intent.setFlags(0);
即可参考:https://stackoverflow.com/que...
又是自己结贴QAQ