android获取当前运行Activity的名字(解决避免及时聊天再出现通知)

最近在做IM时需要知道当前Activity是哪一个Activity.自己整理一下两种方法

第一种:要方便一点

private String getRunningActivityName() {
		String contextString = context.toString();
		return contextString.substring(contextString.lastIndexOf(".") + 1,
				contextString.indexOf("@"));
	}

第二种:要稍微麻烦一点,需要一个权限

<uses-permission android:name="android.permission.GET_TASKS" />
private String getRunningActivityName(){
        ActivityManager activityManager=(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        String runningActivity=activityManager.getRunningTasks(1).get(0).topActivity.getClassName();
        return runningActivity;
    }
时间: 2024-09-30 02:00:11

android获取当前运行Activity的名字(解决避免及时聊天再出现通知)的相关文章

Android获取正在运行的程序并kill掉它

获取正在运行的程序并把它加入到一个listview的adapter类面,方法如下: // 正在运行的 public List<Programe> getRunningProcess() { pi = new PackagesInfo(this); am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); // 获取正在运行的应用 run = am.getRunningAppProcesses(); // 获取包管理器,在这里主要通过包

android调用摄像头导致activity销毁的解决办法

APP里有一个上传头像,可以直接从相册选择图片上传,也可以使用照相机拍照上传.这个功能在大部分机器下都正常,然而在部分机器(例如三星)却失败,另外独立写了个测试例子检查这个问题. package com.penngo.camera; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import an

Android获取后台运行服务Get Running Service

完整的代码可以在我的GitHub上看到,链接在文末.效果图: Main: package com.zms.getrunningservice; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import android.app.Activity; import android.app.ActivityManager; imp

android 获取application和activity下meta-data中的值

meta-data在AndroidManifest中是以键值对的形式存在的,可以将meta-data放在application根节点下,也可以放在某个activity节点下.因为存放的位置不同,因此获取value时也要使用对应的方法,下面是我写的一个小测试. 代码如下: 先是在AndroidManifest中的application和mainActivity下添加两个meta-data属性. <application android:allowBackup="true" andr

android获取当前界面activity对象

在编写android应用的时候一般跟界面相关的都离不开activity,很多时候我们需要在纯java环境中使用activity对象,一般情况下我们都是靠参数传递去使用.现在我们可以使用纯java代码来获取当前系统中的activity对象,有了activity对象我们就可以做很多想做的事情,比如监听改activity的生命周期,给改activity界面添加浮动view等等.废话少说看下面方法: public static Activity getGlobleActivity() throws Cl

android中判断当前运行activity名的方法

本文实例讲述了android获取当前运行Activity名字的方法,可以避免即时聊天再出现通知的情况.分享给大家供大家参考.具体方法如下: 最近在做聊天时需要知道当前Activity是哪一个Activity.整理了两种方法: 第一种:要方便一点(Service中无法使用) private String getRunningActivityName() { String contextString = context.toString(); return contextString.substri

Android插件化探索(三)免安装运行Activity(上)

[Android插件化探索(一)类加载器DexClassLoader] [Android插件化探索(二)资源加载] 前情提要 在上一篇中有一个细节没有提到,那就是getResourcesForApplication和AssetManager的区别. getResourcesForApplication getResourcesForApplication(String packageName),很显然需要传入一个包名,换言之,这个插件必须已经被安装在系统内,然后才能通过包名来获取资源.你可能会想

Android开发常见的Activity中内存泄漏及解决办法

上一篇文章楼主提到由Context引发的内存泄漏,在这一篇文章里,我们来谈谈Android开发中常见的Activity内存泄漏及解决办法.本文将会以"为什么""怎么解决"的方式来介绍这几种内存泄漏. 在开篇之前,先来了解一下什么是内存泄漏. 什么是内存泄漏? 内存泄漏是当程序不再使用到的内存时,释放内存失败而产生了无用的内存消耗.内存泄漏并不是指物理上的内存消失,这里的内存泄漏是值由程序分配的内存但是由于程序逻辑错误而导致程序失去了对该内存的控制,使得内存浪费. 怎

Android高手之路之获取正在运行的service,以及判断某个service是否正在运行

注:本文改自http://blog.csdn.net/android_tutor/article/details/5824581 其实主要是用了activityManager的getRunningServices来获取正在运行的service的列表.然后用正在运行的服务的名称去比对相等. 看代码: package com.example.runningservice; import java.util.List; import android.app.Activity; import andro