android - 如何从库中找到 Activity 的引用并关闭(完成()) Activity ?

标签 android android-activity shared-libraries

场景:

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

问题:

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

  1. 立即完成(如上所述) Activity

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

我都同意。哪个更简单、更安全!

我只需要知道如何/在何处/在库中编写什么代码,以便它可以 finish() Activity !

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

最佳答案

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

public static <Your activity class> activitySingleTon

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

OnCreate(){ activitySingleTon = this; }

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

if(<your activity class>.activitySingleTon)

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

关于android - 如何从库中找到 Activity 的引用并关闭(完成()) Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9975803/

相关文章:

java - 不要使用 TabLayout 将 Activity 保留在缓存中

gcc - 为什么针对已安装的glibc编译的程序不能正常运行?

c - 如何修复 "version ` GLIBC_2.1 4' not found"错误?

android - 无法在 Galaxy Nexus 中使用手电筒

java - "telephonyService cannot be resolved"方法调用出现错误 `telephonyService.answerRingingCall();`

android - 使用 FLAG_ACTIVITY_CLEAR_TOP 的 Activity 之间的动画转换

android - fragment 或 Activity 中带有工具栏的协调器布局

shared-libraries - yocto 项目 - 配方 sysroot 中缺少依赖项

Android volley 错误 : "Trust anchor for certification path not found", 仅在真实设备中,而不是模拟器

android - 更优雅的方式来恢复 Android 应用程序子类的状态?