У меня есть один класс приложения, чтобы сохранить глобальное состояние моего приложения. Но я не могу зарегистрировать его в файле манифеста? Любая идея, как это сделать?
Зарегистрировать класс приложения в манифесте?
Ответ 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"