пользовательский android.app. Приложение не запускает событие onCreate - PullRequest
30 голосов
/ 28 июля 2011

Я извлекаю пользовательское приложение из android.app.Application и не могу запустить событие onCreate.Вот реализация

import android.app.Application;

public class MyApplication extends Application {

    public MyApplication() {
        super();
    }

    @Override
    public void onCreate() {
        super.onCreate();
    }
}

А вот как я ее использую:

MyApplication ctrl = new MyApplication();

Ответы [ 6 ]

78 голосов
/ 28 июля 2011

Добавьте следующее в ваш AndroidManifest.xml

<application
    android:name="MyApplication"
    android:debuggable="true"
    android:icon="@drawable/icon"
    android:label="@string/app_name">
</application>

, тогда ваш onCreate() будет уволен.

4 голосов
/ 30 апреля 2016

Очень просто

В вашем AndroidManifest.xml в теге application введите имя вашего подкласса Application с его путем под атрибутом android:name.

Пример:

<application
...
android:name=".models.custom.BaseApplication"
...
> ... </application>
1 голос
/ 28 июля 2011

Вы на самом деле не создаете экземпляры своей деятельности с оператором new.Вместо этого вы запускаете Intent следующим образом:

Intent start = new Intent(context, Classname.class);
context.startActivity(start);

При создании объекта с оператором new никогда не будет вызываться onCreate.

[EDIT] При создании приложений соператор new onCreate также не будет вызываться [/ EDIT]

[EDIT2] Вы можете создать статический метод, который возвращает приложение следующим образом:

public static MyApplication getApp() {
    return mInstance;
}

[/ EDIT2]

1 голос
/ 28 июля 2011

Не создавайте его, получите его от Context.

Например, от Activity:

MyApplication ctrl = (MyApplication)getApplicationContext();

Дополнительная информация: Context.getApplicationContext ()

Документация гласит, что onCreate() - это

Вызывается при запуске приложения до создания любых других объектов приложения

0 голосов
/ 08 мая 2019

У меня была эта проблема, и я обнаружил, что в моем случае вся проблема была связана с телефоном.Я перезагрузил телефон, и это решило проблему.

0 голосов
/ 23 марта 2017

Как упомянул Баладжи, если ваша проблема все еще возникает, даже после упоминания имени класса в теге приложения

<application
    android:name="MyApplication"
    android:debuggable="true"
    android:icon="@drawable/icon"
    android:label="@string/app_name"> </application>

Затем попробуйте это:

Попробуйте отключить Мгновенный запуск изатем очистите проект и перестройте его, а затем снова запустите.Это сработало для меня.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...