标签: activity-lifecycle

注册 Android Activity 生命周期未被触发

我正在开发一个 Android 应用程序,我正在尝试注册活动生命周期回调。

在我的启动器活动 (Agreement.java) 中,onCreate我有以下内容:

this.getApplication().registerActivityLifecycleCallbacks(new LoginManager());
Run Code Online (Sandbox Code Playgroud)

此活动会检查协议是否已达成一致,如果同意,则立即完成并调用 LoginActivity.java 但我在活动回调类中的 toast 通知没有显示,我的 logcat 消息也没有显示,因此它看起来并不像就像它被解雇一样。

下面是实现活动回调的 LoginManager 类

public class LoginManager extends Application implements Application.ActivityLifecycleCallbacks
{
    private final String TAG = "LoginManager";
    @Override
    public void onActivityCreated(Activity activity, Bundle savedInstanceState)
    {
        Toast.makeText(activity, "Activity Created", Toast.LENGTH_LONG).show();
        Log.d(TAG, "Activity Created");
        long currentEpochTime = System.currentTimeMillis() / 1000l;
        Log.d(TAG, "Current Epoch: " + currentEpochTime);
        CommonTasks commonTasks = new CommonTasks(activity);
        SharedPreferences settings = commonTasks.getAppsSharedPreferences();

        long timeDifference = currentEpochTime - settings.getLong(Defines.SharedPreferenceSettings.LAST_ACTIVE_EPOCH, 0);
        Log.d(TAG, "Time Difference: …
Run Code Online (Sandbox Code Playgroud)

android activity-lifecycle

1
推荐指数
1
解决办法
1608
查看次数

如果之前没有调用过 onResume(),是否有可能调用 onPause()?

onResume()onPause()方法中注册接收器并取消注册它。我的 Crashlytics 报告中可能出现奇怪的错误:

Fatal Exception: java.lang.RuntimeException
Unable to pause activity {package-here}: java.lang.IllegalArgumentException: Receiver not registered: 

Caused by java.lang.IllegalArgumentException
Receiver not registered:
Run Code Online (Sandbox Code Playgroud)

它在 20k 安装中发生了 3 次(3 个用户)。

如果之前没有调用过 onResume(),是否有可能调用 onPause()?我以为不是。

android illegalargumentexception receiver activity-lifecycle android-lifecycle

1
推荐指数
1
解决办法
156
查看次数

单击“返回”按钮时杀死启动画面

我已经为我的android应用创建了初始屏幕。我的问题很简单。5秒钟后,启动屏幕消失,主要活动起作用。然后,如果我单击“返回”按钮,它将再次返回启动屏幕。但我不要这个。

如果用户在mainactivity上触摸“返回”按钮,则应用必须进入没有闪屏的android菜单。我该如何解决?

package com.example.androidfirst;

import android.app.Activity;

public class SplashActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    setContentView(R.layout.splash_screen);

    Thread timer = new Thread() {   //new Thread
        @Override
        public void run() {

            try {
                sleep(5000);
            }
            catch (InterruptedException e) {

                e.printStackTrace();
            }
            finally {
                Intent MainAct = new Intent("com.example.androidfirst.MAINACTIVITY");
                startActivity(MainAct);

                try {
                    this.finalize();
                }
                catch (Throwable e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

        }

    };

    timer.start();

}

}
Run Code Online (Sandbox Code Playgroud)

android splash-screen activity-lifecycle

0
推荐指数
1
解决办法
4747
查看次数

将项目更新到 android 10 后 onCreate 活动崩溃

将我的项目更新到 android 10 后,我的 HomeActivity 崩溃了,该应用程序在旧版本的 android 上运行良好,但是当我使用 Android 10 设备时会发生崩溃,我有一个启动活动并且它运行正常,但是在移动到onCreate setContentView(R.layout.activity_home)上的主页活动

这是崩溃报告:

  E/UncaughtException: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.aia.portercustomer/com.aia.portercustomer.activity.HomeActivity}: android.view.InflateException: Binary XML file line #17 in com.aia.portercustomer:layout/abc_screen_simple: Binary XML file line #17 in com.aia.portercustomer:layout/abc_screen_simple: Error inflating class androidx.appcompat.widget.FitWindowsLinearLayout
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3271)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3410)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2017)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7397)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)
     Caused by: android.view.InflateException: Binary XML file line #17 in com.aia.portercustomer:layout/abc_screen_simple: Binary XML file line …
Run Code Online (Sandbox Code Playgroud)

android activity-lifecycle android-activity android-studio android-10.0

0
推荐指数
1
解决办法
1737
查看次数