这个方法需要app获取androidpermissionREAL_GET_TASKS权限
Android 50以上只对系统应用开放。
Android50以下需要添加权限:
androidpermissionGET_TASKS
android开发中获取当前的Activity有多种情况;
在Activity中,this就是当前的Activity,例如thisstartActivity。
在Fragment中可以通过 getActivity()来得到当前装载这个Fragment的Activity。
通过Activity堆栈来获取当前显示的这个Activity
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
ComponentName cn = amgetRunningTasks(1)get(0)topActivity;
ActivityManager manager = (ActivityManager) contextgetSystemService(ContextACTIVITY_SERVICE);
List<RunningTaskInfo> runningTasks = managergetRunningTasks(1);
RunningTaskInfo cinfo = null;
if (runningTasks != null && runningTaskssize() > 0) {
cinfo = runningTasksget(0);
}
ComponentName component = null;
if (cinfo != null) {
component = cinfotopActivity;
}
String componentName = null;
if (component != null) {
componentName = componentgetClassName();
}
//当前activityName
componentName;
实例代码如下“
public class MyActivity extends Activity
3 {
4 public void test(){};
5 public void test(int position){}
6 }
7 BaseAdater:
8 public class MyBaseAdapter extends BaseAdapter{
9 MyActivity context;
10 public MyBaseAdapter(MyActivity context){
11 thiscontext = context;
12 }
13 //其他函数中调用MyActivity的方法。
14 contexttest();
15 contexttext(1);
16
工具/原料
app
android手机
数据线
方法/步骤
需要配置好android的开发环境后,打开cmd命令窗口
在命令窗口中输入,adb logcat>D:/loglog,输入D盘下
运行手机上app应用程序,需要获取到app应用程序
然后停止运行获取手机上logcat的文件,停止是直接按Ctrl+c
打开输出的文件
通过抓取到log的日志,找到相应activity的应用程序。
以上就是关于Android 获取当前栈顶activity全部的内容,包括:Android 获取当前栈顶activity、怎么获取当前运行的Activity、android 中怎样获得activityname等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)