获取Activity栈,判断当前Activity位置的方法

 更新时间:2018年03月22日 11:16:45   作者:ffengz  
下面小编就为大家分享一篇获取Activity栈,判断当前Activity位置的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

需求

需要在整个app全局能够弹出弹框,接收到广播即进行处理。

但是,BaseActivity派生出N个Activity,BaseActivity中的广播就会执行N次,导致弹框重复添加,所有在广播中判定,只有在栈顶的Activity才能处理广播消息。

实现

获取任务栈

必须添加权限:

<!--获取Activity任务栈 权限-->
<uses-permission android:name="android.permission.GET_TASKS" />

具体实现,获取栈以及其中内容:

// 获取activity任务栈
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
ActivityManager.RunningTaskInfo info = manager.getRunningTasks(1).get(0);

// 类名 .ui.mobile.activity.WebsiteLoginActivity
String shortClassName = info.topActivity.getShortClassName(); 

// 完整类名 com.haofang.testapp.ui.mobile.activity.WebsiteLoginActivity
String className = info.topActivity.getClassName(); 

// 包名 com.haofang.testapp
String packageName = info.topActivity.getPackageName(); 

当前Activity的包名和全名:

// 包名 com.haofang.testapp
BaseActivity.this.getPackageName()
// 类名 ui.main.MainActivity
BaseActivity.this.getLocalClassName()

之后进行对比,即可在非目标Activity避开处理

以上这篇获取Activity栈,判断当前Activity位置的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • kotlin实战教程之lambda编程

    kotlin实战教程之lambda编程

    这篇文章主要给大家介绍了关于kotlin实战教程之lambda编程的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用kotlin具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • Android中使用achartengine生成图表的具体方法

    Android中使用achartengine生成图表的具体方法

    这篇文章主要介绍了Android中使用achartengine生成图表的具体方法,有需要的朋友可以参考一下
    2014-01-01
  • Android ListView列表视图的使用方法

    Android ListView列表视图的使用方法

    这篇文章主要为大家详细介绍了Android ListView列表视图的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • Android笔记之:App应用之发布各广告平台版本的详解

    Android笔记之:App应用之发布各广告平台版本的详解

    Android的广告平台是很多的,各市场对各平台的接受程度是不一样的,Android的开发者如果想集成广告基本要考虑下面两个问题
    2013-04-04
  • Android studio 快速删除无用资源的方法

    Android studio 快速删除无用资源的方法

    最近苦于android 项目越来越大,项目需求不停变动。项目中的资源文件越来越杂,越来越乱。android studio怎么删除无用资源呢?下文图文并茂给大家介绍的非常详细,需要的朋友参考下吧
    2017-11-11
  • Android Studio修改Log信息颜色的实现

    Android Studio修改Log信息颜色的实现

    这篇文章主要介绍了Android Studio修改Log信息颜色的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Android Studio gradle配置packagingOptions打包so库重复

    Android Studio gradle配置packagingOptions打包so库重复

    这篇文章主要为大家介绍了Android Studio gradle配置packagingOptions打包so库重复问题的解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Android实现自定义曲线图

    Android实现自定义曲线图

    这篇文章主要为大家详细介绍了Android实现自定义曲线图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • Android实现页面滑动切换动画

    Android实现页面滑动切换动画

    这篇文章主要为大家详细介绍了Android实现页面滑动切换动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Android打印机--小票打印格式及模板设置实例代码

    Android打印机--小票打印格式及模板设置实例代码

    这篇文章主要介绍了Android打印机--小票打印格式及模板设置实例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-04-04

最新评论