【问题标题】:How to find reference of an Activity from a library and close(finish()) the activity?如何从库中找到活动的引用并关闭(完成())活动?
【发布时间】:2012-04-02 11:45:00
【问题描述】:

场景:

显示一个活动。它有一个文本框和一个按钮。如果您在文本框中输入特殊代码并单击按钮,则活动会在比较文本逻辑后关闭。简单的!这已在活动的 OnCLick() 中实现。

问题:

我有一个处理所有 SMS 接收器功能的库。接收器远程监听特殊的传入 SMS。一旦特殊短信到达,一个库函数(closeActivity)应该要么

  1. finish() 活动(如上所述)直接

  2. 通过某种方式获取对活动的引用来模仿输入文本+单击按钮的动作?

我都可以。哪个更简单、更安全!

我只需要知道如何/在哪里/在库中编写什么代码,以便它可以完成()活动!

假设:activity一直显示,系统没有自动堆叠!

【问题讨论】:

    标签: android android-activity shared-libraries


    【解决方案1】:

    你为什么不尝试使用意图? esp 广播意图.. 从库中触发广播意图并在您的活动/另一个注册为意图接收器的类中获取它。您可以轻松获取广播接收器中的活动实例。

    public static <Your activity class> activitySingleTon

    并在适当的生命周期方法中设置单例。

    OnCreate(){ activitySingleTon = this; }

    并像这样在广播接收器中使用

    if(<your activity class>.activitySingleTon)

    { <your activity class>.activitySingleTon.finish(); }

    【讨论】:

      【解决方案2】:

      可以有多个 Activity 实例吗? 如果没有,请将其设为单例,然后使用 MyActivity.getInstance() 从任何位置引用它。

      最好的问候。

      【讨论】:

      • 谢谢。我正在谷歌搜索如何将活动声明为单身人士。确实遇到过一些帖子说单身可能不是一个好主意..但是讨论的参考是不同的。一旦我对单例活动有所了解,就会更好地理解这个概念!
      猜你喜欢
      • 1970-01-01
      • 2012-03-28
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      • 2013-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多