Android获得当前正在运行的Activity及相关信息
来源:互联网 发布:it strikes me 编辑:程序博客网 时间:2024/05/17 09:08
本文实例讲述了android获取当前运行Activity名字的方法,可以避免即时聊天再出现通知的情况。分享给大家供大家参考。具体方法如下:
最近在做IM时需要知道当前Activity是哪一个Activity.自己整理一下两种方法
第一种:要方便一点(Service中无法使用)
复制代码 代码如下:
private String getRunningActivityName() {
String contextString = context.toString();
return contextString.substring(contextString.lastIndexOf(".") + 1, contextString.indexOf("@"));
}
第二种:要稍微麻烦一点,需要一个权限(推荐)String contextString = context.toString();
return contextString.substring(contextString.lastIndexOf(".") + 1, contextString.indexOf("@"));
}
复制代码 代码如下:
<uses-permission android:name="android.permission.GET_TASKS" />
1.1.其他属性:private String getRunningActivityName(){
ActivityManager activityManager=(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
String runningActivity=activityManager.getRunningTasks(1).get(0).topActivity.getClassName();
return runningActivity;
}
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
RunningTaskInfo info = manager.getRunningTasks(1).get(0);String shortClassName = info.topActivity.getShortClassName(); //类名
String className = info.topActivity.getClassName(); //完整类名
String packageName = info.topActivity.getPackageName(); //包名
1.1.其他用法:
//get ActivityManagerActivityManager activityManager=(ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
//one
// String className=activityManager.getRunningTasks(1).get(0).topActivity.getClassName();
//split one by one
List<RunningTaskInfo> list=activityManager.getRunningTasks(1);
RunningTaskInfo info=list.get(0);
ComponentName componentName=info.topActivity;
String activityName=componentName.getClassName();
if(activityName!=null){
//check DeviceControlActivity is open or die
if(activityName.equals("com.android.bluetooth.DeviceControlActivity")){
//refresh DeviceControlActivity
}else{
//start DeviceControlActivity
final Intent intent = new Intent(this, DeviceControlActivity.class);
intent.setFlags(intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(DeviceControlActivity.EXTRAS_DEVICE_NAME, device.getName());
intent.putExtra(DeviceControlActivity.EXTRAS_DEVICE_ADDRESS, device.getAddress());
startActivity(intent);
}
}else{
//
}
0 0
- Android获得当前正在运行的Activity及相关信息
- android-如何获得当前正在运行的activity的相关信息
- android-如何获得当前正在运行的activity的相关信息
- android-如何获得当前正在运行的activity的相关信息
- Android-如何获得当前正在运行的activity和进程的相关信息
- Android -- 获得当前正在运行的activity信息
- android获得正在运行的activity
- android 获取当前正在运行的activity
- 如何获得系统正在运行的activity和services信息
- 如何获得系统正在运行的activity和services信息
- 如何获得当前正在展示的activity
- 获取当前正在活动的activity信息
- 获取当前正在运行的Activity
- 查看当前正在运行的Activity列表
- 获取正在运行的activity的信息
- 获取当前界面正在当前运行的Activity的名字
- 获得当前正在显示的activity的类名
- 获得当前正在显示的activity的类名
- BPL插件框架的二种实现方法
- DTLS分析
- python爬虫抓站的一些技巧
- IOC和DI
- 处理正片和负片
- Android获得当前正在运行的Activity及相关信息
- Campus
- 2015年十一期间小结
- css基础---第二篇
- Word快捷键
- telnet 命令使用详解
- uva11324(tarjan缩点 + DAG图上的简单dp)
- C语言printf()、sprintf()、vsprintf() 的区别与联系
- 数据结构和常用算法