【问题标题】:ActivityLifecycleCallbacks won't triggerActivityLifecycleCallbacks 不会触发
【发布时间】:2021-04-30 13:02:04
【问题描述】:

我正在制作一个消息应用程序,为了设置用户的状态,我必须跟踪我的应用程序的状态。当我运行 apk 时,无论应用程序的状态如何,都不会触发 ActivityLifecycleCallbacks。到目前为止,我已经尝试了所有可能的修复方法,但没有一个成功。这是代码:

public class AppState extends Application implements Application.ActivityLifecycleCallbacks {

    @Override
    public void onCreate() {
        super.onCreate();
        Log.e("AppState ", "onCreate");
        registerActivityLifecycleCallbacks(this);
    }

    @Override
    public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) {
        Log.e("onActivityCreated", activity.getLocalClassName());
    }

    @Override
    public void onActivityStarted(Activity activity) {
        setLastSeen(KEY_LAST_SEEN_ONLINE);
    }

    @Override
    public void onActivityResumed(@NonNull Activity activity) {
        Log.e("onActivityResumed", activity.getLocalClassName());
    }

    @Override
    public void onActivityPaused(@NonNull Activity activity) {
        Log.e("onActivityPaused", activity.getLocalClassName());
    }

    @Override
    public void onActivityStopped(Activity activity) {
        setLastSeen(String.valueOf(System.currentTimeMillis()));
    }

    @Override
    public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle outState) {
        Log.e("omInstanceState", activity.getLocalClassName());
    }

    @Override
    public void onActivityDestroyed(@NonNull Activity activity) {
        Log.e("onActivityDestroyed", activity.getLocalClassName());
    }

    private void setLastSeen(String lastSeen) {
        FirebaseDatabase.getInstance().getReference(KEY_COLLECTION_USERS)
                .child(FIREBASE_USER.getUid())
                .child(KEY_LAST_SEEN)
                .setValue(lastSeen);
    }
}

为了澄清起见,我一直在阅读文档和其他一些调整,但没有一个提到在我的项目的其他类上实现代码,所以我认为问题出在这个类中。 谢谢你的时间:)

【问题讨论】:

    标签: android android-activity android-lifecycle


    【解决方案1】:

    检查您是否在清单中注册了 AppState 应用程序类:

     <application
            android:name=".AppState"
            ...
    

    【讨论】:

    • 这就像一个魅力。非常感谢,在我查阅的所有页面中,他们都没有提到这个属性是必要的(或者至少我没有看到它)。
    猜你喜欢
    • 2017-02-15
    • 2019-08-07
    • 2011-09-30
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 2016-04-24
    • 2015-04-12
    相关资源
    最近更新 更多