首页 文章

AltBeacon库作为前台服务,在激活时会激活Activity元素

提问于
浏览
0

我正在使用最新的AltBeacon库并在MonitorActivity类中运行带有一些mod的参考应用程序,以及利用bootstrapping的前台服务功能 .

我的应用程序可以检测前台或服务中的信标,但是当我从服务到活动的Activity时,我正在努力(Android新手)使用Activities视觉元素 .

引导区域在Application类中创建,然后创建MonitorActivity . Activity的第一个实例保存一些数据和对用于对信标数据进行操作的外部库的引用 . 该库包含创建它的Activity的上下文 .

如果MonitorActivity窗口永远不会被用户干预杀死,那么应用程序运行正常 . 从前台到后台,app的行为与预期一致 .

如果MonitorActivity被终止,则该服务仍然运行并且似乎具有对初始Activity的引用,因为在该实例中创建的外部库仍然起作用 . 显示外部库结果的方法失败,因为UI元素不再存在 .

我想设置一个通知然后加载Activity来显示信标数据的结果,但是在我的测试中我得到另一个新的Activity类,它创建了一个新的外部库实例....不好!

我试过了:

Intent intent = new Intent(this, MonitorActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP );
    PendingIntent pendingIntent = PendingIntent.getActivity(
            this, 0, intent, PendingIntent.FLAG_ONE_SHOT
    );

认为它将使用原始Activity,但它会创建一个新实例 .

原始的Activity类必须仍然存在,因为它正在执行所需的逻辑 .

有没有办法重新启用其可视元素来显示在原始Activity中创建的外部lib的结果?

1 回答

  • 0

    这句话是关键:

    Activity的第一个实例包含一些数据和对用于对信标数据进行操作的外部库的引用 . 该库包含创建它的Activity的上下文 .

    您没有说这个库是什么,但根据您的描述,它必须设计为处理活动中的可视数据 . 活动被破坏,因此如果设计得当,该库必须设计为处理这种情况 . “它如何推荐用于多项活动?*

    您是否应该在每项活动中提及它?如果你在另一个活动中创建一个新实例,这没关系吗?你说这是一个问题:“我得到另一个新的Activity类,它创建了一个新的外部库实例....不好!”为什么这“不好”?

    这些问题的答案应该在该外部库的文档中 . 不知道它是什么,很难说更多 .

相关问题