Зарегистрировать класс приложения в манифесте?

У меня есть один класс приложения, чтобы сохранить глобальное состояние моего приложения. Но я не могу зарегистрировать его в файле манифеста? Любая идея, как это сделать?

Ответ 1

Если это происходит из приложения, добавьте полное (имя пространства имен + имя класса) в качестве параметра android:name элемента приложения в манифест.

<application
        android:name="com.you.yourapp.ApplicationEx"

Или, если пакет класса можно описать как относительный к package в теге manifest, тогда просто начните с .:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.you.yourapp">

    <application
        android:name=".ApplicationEx"

Ответ 2

но если вы уже используете некоторую библиотеку, например, библиотеку branch.io, то, скорее всего, ваш манифест

<application name="">

Свойство

уже имеет какое-то имя, например

`<application name="io.referral.BranchApp">

в этом случае вам нужно сначала расширить класс приложения, как показано ниже:

public class Application extends BranchApp

а затем зарегистрируйте свое приложение в манифесте как:

android:name="absdevelopers.com.brankreferal.Application"

это отлично работает для меня:) я надеюсь, что это поможет кому-то в беде:)

Ответ 3

Если вы используете приложение MultiDex, у вас уже будет использоваться "андроид: имя", поэтому вместо android.support.multidex.MultiDexApplication:

public class MyApplication extends MultiDexApplication {...}

И добавьте его в манифест Android:

android:name="app.package.MyApplication"