Android服务-它能弹出一个活动吗?

Android服务-它能弹出一个活动吗?,android,android-service,Android,Android Service,我有三个独立的应用程序A、B和C。它们都使用服务S。当A、B或C连接到服务S并且服务S必须启动时,它必须使用表单F从用户处收集凭据 我希望用户体验如下: 从Android主菜单,用户点击其中一个应用程序;A、 B或C 表单F出现,因为服务尚未启动 用户填写表格F并点击OK 进行验证 如果凭据验证成功,则会显示所选应用程序(A、B或C)中的相应活动 成功验证后,启动的任何后续应用程序都不需要进行身份验证,它们只需启动该应用程序中的活动即可 如果验证失败,用户按下后退按钮,主菜单将再次出现 考虑到所

我有三个独立的应用程序A、B和C。它们都使用服务S。当A、B或C连接到服务S并且服务S必须启动时,它必须使用表单F从用户处收集凭据

我希望用户体验如下:

  • 从Android主菜单,用户点击其中一个应用程序;A、 B或C
  • 表单F出现,因为服务尚未启动
  • 用户填写表格F并点击OK
  • 进行验证
  • 如果凭据验证成功,则会显示所选应用程序(A、B或C)中的相应活动
  • 成功验证后,启动的任何后续应用程序都不需要进行身份验证,它们只需启动该应用程序中的活动即可
  • 如果验证失败,用户按下后退按钮,主菜单将再次出现

  • 考虑到所有这些,我想让服务在必要时启动凭证表单——服务可以这样做吗?如果不是,实现这一点的替代方法是什么?

    服务是一个上下文,上下文可以启动一个活动:

    服务是一个上下文,上下文可以启动一个活动:

    服务不应直接启动活动。有关通知的文件中明确说明了这一点。您可以在此处查看(请参阅第二段)

    您描述的场景可以用另一种方式处理:

  • 将方法添加到服务
    isValidated()
    ,如果 用户已经过验证
  • 活动A、B或C应 使用
    isValidated()
    首先检查用户是否已验证 不如果不是,则活动应显示from F

  • 服务不应直接启动活动。有关通知的文件中明确说明了这一点。您可以在此处查看(请参阅第二段)

    您描述的场景可以用另一种方式处理:

  • 将方法添加到服务
    isValidated()
    ,如果 用户已经过验证
  • 活动A、B或C应 使用
    isValidated()
    首先检查用户是否已验证 不如果不是,则活动应显示from F