Зарегистрировать приложение класса в Манифесте? - PullRequest
161 голосов
/ 28 мая 2010

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

Ответы [ 3 ]

300 голосов
/ 28 мая 2010

Если он получен из Application, добавьте полностью определенное (namespace + class name) в качестве параметра android:name элемента application в манифесте.

<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"
8 голосов
/ 07 апреля 2016

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

<application name="">

Свойство

уже будет иметь имя, например

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

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

public class Application extends BranchApp

и зарегистрируйте вашу заявку в манифесте как:

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

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

5 голосов
/ 20 августа 2016

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

public class MyApplication extends MultiDexApplication {...}

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

android:name="app.package.MyApplication"
...