【问题标题】:Install APK EXTRA_RETURN_RESULT from IntentService从 IntentService 安装 APK EXTRA_RETURN_RESULT
【发布时间】: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


【解决方案1】:

对于随后的其他人。我最终让我的 IntentService 启动了一个使用“android:theme="@android:style/Theme.Translucent.NoTitleBar"”创建的 Activity,然后我可以执行 startActivityForResults。然后在广播意图中发送结果

【讨论】:

    猜你喜欢
    • 2011-08-22
    • 2011-01-20
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 2012-05-30
    • 2022-01-16
    • 1970-01-01
    相关资源
    最近更新 更多