我试图将结果从APK更新到服务。实际上我正在使用在后台运行的IntentService。我的安装是由服务创建PendingIntent for Notification完成的,然后在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);
问题似乎是服务不是一个Activity,所以如果我取消注释EXTRA_RETURN_RESULT我没有得到响应。另外,我不能使用startActivityForResult,因为它在服务上不可用,只有一个Activity。
思想?
答案 0 :(得分:0)
对于其他人。我最终让我的IntentService启动了一个我用“android:theme =”创建的活动@ android:style / Theme.Translucent.NoTitleBar“”然后我可以执行startActivityForResults。然后将结果发送到广播意图