之前看到网上和教程中通常的做法如下:

private String getRunningActivityName(){
ActivityManager activityManager=(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
String runningActivity=activityManager.getRunningTasks(1).get(0).topActivity.getClassName();
return runningActivity;
}

这个方法不好的是需要在AndroidManifest.xml里面定义权限

事实上有更简单的方法,我一般都这么干!

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

既不用定义权限,也代码简单。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐