【问题标题】:Controlling activity instance visibility through a service?通过服务控制活动实例的可见性?
【发布时间】:2013-06-13 17:04:23
【问题描述】:

我有一个可以从两个来源启动的活动。每个源启动它自己的活动实例: 1. 从应用程序内部 2. 来自外部服务

我的问题在于服务。该服务需要能够控制 Activity 在 Android 屏幕上的可见性(隐藏和显示 Activity)。

目前我从服务中启动活动,意图如下:

Intent appIntent = new Intent("Custom_Action");
appIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);

startActivity(appIntent);

我的问题是,如何控制活动的可见性。也许通过将活动绑定到服务?

【问题讨论】:

    标签: java android service android-activity


    【解决方案1】:

    我认为您误解了服务和活动之间的关系。一个服务在后台运行,做它的事情。它没有 UI,用户也无法与之交互。活动可以发送服务消息并查询其状态,但服务无法将信息推送到活动。如果您希望服务通知用户某些事情,您可以发布通知。然后让该通知启动您的活动,然后该活动将连接到该服务。无法从服务中强制打开活动,因为无法知道您的用户当时是否正在查看他们的设备。

    【讨论】:

    • 我知道可以绑定到服务,并从活动中给它一个回调。那么也许我可以通过回调来控制可见性?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    • 1970-01-01
    • 2018-03-23
    相关资源
    最近更新 更多