【发布时间】:2017-12-30 17:30:26
【问题描述】:
我正在尝试将结果从 APK 更新到服务。实际上,我使用的是在后台运行的 IntentService。我的安装是通过服务为通知创建 PendingIntent 完成的,然后在调用以下内容的 BroadcastReceiver 中接收它:
apkUri = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".share", toInstall);
Intent installIntent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
installIntent.setData(apkUri);
installIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
// installIntent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
// installIntent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
installIntent.putExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME,getApplicationInfo().packageName);
context.startActivity(installIntent);
问题似乎是服务不是一个活动,所以如果我取消注释 EXTRA_RETURN_RESULT 我没有得到响应。我也不能使用 startActivityForResult 因为它在服务上不可用,只有活动。
想法?
【问题讨论】:
标签: android broadcastreceiver installation apk intentservice