获取正在执行的当前方法的名称

那么我基本上做的是一个有很多活动的应用程序。 我有一些与Android手机的朋友,我给他们的testing应用程序。 然而,它有时进入无尽的循环,并做了奇怪的行为,由于缺乏编程经验,无法在这些特定时刻转储logcat,我无法理解。

所以我需要做的是创build一个静态总是可见的窗口,可能是popup式窗口,显示现在程序在哪个方法。

所以我的问题是,这是实现这个function的最好方法,以及如何检索App的当前方法(它有几个线程)。

Solutions Collecting From Web of "获取正在执行的当前方法的名称"

Thread.currentThread().getStackTrace()[1].getMethodName() 

你可以试试这个:

 public String getCurrentMethod(){ try{ throw new Exception(""); }catch(Exception e){ return e.getStackTrace()[0].toString(); } return ""; // This never happens } 

它会返回这样的东西:
ClassName.methodName():123

如果你search的话,有很多的答案。 这是一个简单的方法

 String name = new Object(){}.getClass().getEnclosingMethod().getName(); 

你应该参考这个职位。 获取当前执行方法的名称

在我的设备上它是 – Thread.currentThread().getStackTrace()[2].getMethodName()

(不是[1]但是[2])