1

我的应用程序执行大量后台任务并且活动很少,并且大部分工作都是在后台完成的。

假设我将木材和 Crashlytics 添加到我的应用程序中。我如何确保在设备上更新应用程序时,木材和 Crashlytics 在没有打开活动的情况下被初始化。

4

1 回答 1

1

当您更新您的应用程序时,它总是会停止并重新启动 - Timber 和 Crashlytics 可以在此时初始化。

当您的应用程序启动时,onCreate()android.app.Application调用类的方法。要向此方法添加额外的逻辑,您需要创建新的 MyApplication 类,该类扩展Application类和覆盖onCreate()方法。

public class MyApplication extends Application {

   @Override
   public void onCreate() {
      super.onCreate();
      //here initialize Timber and Crashlytics
   }
}

默认情况下,android.app.Application类用于初始化应用程序上下文。有关使用另一个Application类的信息应在AndroidManifest.xml文件中提供。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.myname.app">

    <application android:name="com.myname.MyApplication">
        <activity android:name=".MyActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>
于 2016-04-26T23:21:24.617 回答