Android Dev:应用启动时做的事情

Android Dev: Do things when App get started

我正在尝试为我的应用程序实施同步过程。内部 sqlite 数据库必须与远程 mysql 数据库同步。 这很好用,但现在我想实现,总是在应用程序启动时调用同步方法。 我只是将它放在 onCreate() 方法中,但现在的问题是,每次我使用 Intent 从更远的 Activity 返回时,都会调用同步方法。

抱歉我的英语不好,希望你们能理解。

提前致谢, 约书亚

解决方案 1

您可以扩展 Application,并在应用程序 class 中同步您在 onCreate() 中的数据。

package com.your.package

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        // Sync data here
    }
}

现在打开 AndroidManifest.xml 并找到 <application> 标签。改成

<application
    android:name=".MyApplication"
    ...>


解决方案 2

创建一个 SyncActivity,使其成为应用程序打开时的第一个 activity。在此处同步您的数据,然后通过

打开您的原始 activity
Intent intent = new Intent(SyncActivity.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);

这两个标志从堆栈中删除了这个 InitActivity,所以当用户按下后退按钮时,他们不会回到这个 activity。