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

发布于 2024-12-06 02:35:29 字数 240 浏览 0 评论 0原文

嗯,我基本上做的是一个有很多活动的应用程序。我有几个使用 Android 手机的朋友,我给他们提供了该应用程序进行测试。然而,它有时会进入无限循环并做出奇怪的行为,由于他们缺乏编程经验并且无法在那些特定时刻转储 logcat,所以我无法理解这些行为。

所以我需要做的是创建一个静态的始终可见的窗口,可能是弹出窗口,显示程序现在在哪个方法中。

所以我的问题是,这是实现此功能的最佳方法以及如何检索应用程序所在的当前方法(它有多个线程)。

Well what I am basically doing is an app which has many activities. I have a few friends with android phones and I gave them the app for testing. However, it sometimes goes into endless cycles and does strange behaviour which I am not able to understand due to their lack of programming experience and inability to dump the logcat in those particular moments.

So what I need to do is to create a static always visible window, probably popup window, that shows in which method is the program now.

So my question would be, which is the best way to achieve this functionality and how to retrieve the current method the App is in (it has several threads).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

追风人 2024-12-13 02:35:30

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

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

On my device it's - Thread.currentThread().getStackTrace()[2].getMethodName()

(not [1] but [2])

漆黑的白昼 2024-12-13 02:35:29
Thread.currentThread().getStackTrace()[1].getMethodName()
Thread.currentThread().getStackTrace()[1].getMethodName()
淡淡の花香 2024-12-13 02:35:29

你可以试试这个:

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

它会返回类似这样的内容:
ClassName.methodName():123

You can try this:

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

It will return something like this:
ClassName.methodName():123

九厘米的零° 2024-12-13 02:35:29

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

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

您应该参考这篇文章。
获取当前执行方法的名称

There are many answers for this if you search SO. This is a simple method

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

You should refer this post.
Getting the name of the current executing method

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文