(Android无障碍服务开发QQ群:752296312)
找来找去,终于找到能够获取当前Activity名字的方法,需要用到无障碍服务AccessibilityService,在以下的方法中添加代码:
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
AccessibilityNodeInfo source = event.getSource();
if (source != null) {
CharSequence packageName = source.getPackageName();
if (event.getEventType() == event.TYPE_WINDOW_STATE_CHANGED) {
//获取当前窗口activity名
ComponentName componentName = new ComponentName(
event.getPackageName().toString(),
event.getClassName().toString()
);
try {
String activityName=getPackageManager().getActivityInfo(componentName, 0).toString();
activityName=activityName.substring(activityName.indexOf(" "),activityName.indexOf("}"));
Log.e("当前窗口activity", "=================" +activityName);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
}
}
}
推荐参考阅读:Android 如何监控当前Foreground Activity,如何获知应用程序的启动_苍痕的博客-CSDN博客