如何从服务安装 APK

亚历克斯

我有一个BroadcastReceiver,我从服务器下载了一个 apk,当我捕捉到动作时,我DownloadManager.ACTION_DOWNLOAD_COMPLETE使用

activity.startActivityForResult(my_intent, REQUEST_CODE)

现在我想在 a 中移动这个逻辑Service并安装 apk,但是在服务内部我没有 Activity,我可以将上下文转换为从 getapplicationcontext() 获得的 Activity,但是我发现了上下文不能的错误被转换为 com.android.Activity

我怎样才能从这个服务运行 apk 的安装?

共享软件

敌对用户的方法是调用startActivity()而不是startActivityForResult(). 这是对用户怀有敌意的,因为它会自动启动安装程序 UI,而您的服务不知道用户在前台做什么。打断用户不会让用户很开心。

一种相关的用户敌对方法是从服务开始您自己的活动,然后您自己的活动在那里调用startActivityForResult(). 您可以使用Theme.Translucent.NoTitleBar这样您自己的活动没有 UI,但是,同样,您将启动安装程序活动,这将中断用户。

用户友好的方法是Notification在下载完成时引发无论是把ACTION_INSTALL_PACKAGE IntentNotification本身,还是有通知启动活动,这反过来又来电startActivityForResult()这允许用户在用户想要时安装应用程序,这可能是也可能不是现在。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章