【问题标题】:Get Android App Start Time in a non-activity class在非活动类中获取 Android 应用启动时间
【发布时间】:2023-03-22 08:21:01
【问题描述】:

我想获取 android 应用程序的开始日期时间。最简单的方法是在活动类的 onCreate 中记下当前时间,但我的问题是我正在创建一个带有一些实用功能的 android 库。我想在库本身中找出最终用户应用程序(即使用库)的开始日期时间。我不想约束应用程序开发人员在 onCreate 方法中记下开始时间并传递给库方法。

考虑到这种情况,有没有办法做到这一点?

【问题讨论】:

    标签: java android datetime time android-library


    【解决方案1】:

    getElapsedCpuTime() in android.os.Process 应该给你你想要的:

    http://developer.android.com/reference/android/os/Process.html#getElapsedCpuTime()

    这是一个静态方法,默认情况下应该返回调用进程的 CPU 运行时间。

    【讨论】:

    • 我尝试使用 getElapsedCpuTime(),以毫秒为单位的时间相当混乱。很多(4 到 5)秒后,返回的经过时间只有 2000 左右。要么它比原始毫秒慢(1 秒内 1000 毫秒),要么我在正确理解方面有问题?
    • 你能贴出你用来打发时间的代码吗?
    • 我针对这个问题发布了一个新问题以及代码。请在这里回复:link
    【解决方案2】:

    如何在您的库中编写一个公共方法(如 getStartDateTime() )以确定您的库中的启动时间,并从您的主应用程序的 application 类中调用它。

    通过在 AndroidManifest.xml 的标签中指定应用程序类名称,应用程序类将在创建应用程序/包的进程时为您实例化,然后调用库中的 getStartDateTime()。

    【讨论】:

    • 这种做法也是正确的。但我的要求是在不要求最终用户开发人员做某事的情况下找到一种方法,因为这种方法将限制他始终使用自定义应用程序类而不是默认应用程序。
    猜你喜欢
    • 1970-01-01
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-14
    • 1970-01-01
    • 2015-07-09
    • 1970-01-01
    相关资源
    最近更新 更多