android 如何获取手机当前的Activity实例

发布网友 发布时间:2022-04-25 20:48

我来回答

4个回答

热心网友 时间:2022-06-17 06:55

获取activity实例有两种办法:
1、通过context来获取,简单方便:
private String getRunningActivityName() {
String contextString = context.toString();
return contextString.substring(contextString.lastIndexOf(".") + 1, contextString.indexOf("@"));
}
2、通过特定权限获取
<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;
}

热心网友 时间:2022-06-17 06:55

Activity是一个用户交互的界面,一般我们很少用new的方式来获取一个activity的实例,因为没有什么意义。而且也改不了别人的代码。如果你有源码可以看下ActivityManagerService.java这个类,用来管理Activity的。希望对你有帮助

热心网友 时间:2022-06-17 06:56

没有系统权限是截不了程序之外的界面的。

热心网友 时间:2022-06-17 06:56

你是用的应用截图 还是系统的按键

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com