2012-12-19 18 views
20

Come registrare la mia classe di applicazione nel mio manifest Android? Ho esaminato molti tutorial online e ancora non riesco a farlo bene. La mia classe di applicazione si chiama Monitor.java. Come posso registrarlo nel codice del file manifest qui sotto?Come registrare la classe dell'applicazione nel file manifest?

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.project" 
    android:versionCode="1" 
    android:versionName="1.0" > 

<application 
    android:allowBackup="true" 
    android:debuggable="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="xyz" 
    android:screenOrientation="landscape" 
    android:theme="@style/AppTheme" > 

    <service 
     android:name=".AudioService" 
     android:icon="@drawable/ic_launcher" 
     android:label="audioservice" > 
    </service> 

    <activity 
     android:name=".MainActivity" 
     android:screenOrientation="landscape" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <activity 
     android:name=".Editor" 
     android:screenOrientation="landscape" 
     android:windowSoftInputMode="stateHidden" > 
     <intent-filter> 
      <action android:name="com.example.project.EDITOR" /> 

      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 

</application> 

+0

si dimenticato aggiungere "nome "attributo nel tag dell'applicazione .. – SilentKiller

risposta

47
<application 
     android:name="package.YourApplicationClass" <-------- 
     android:allowBackup="true" 
     android:debuggable="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="xyz" 
     android:screenOrientation="landscape" 
     android:theme="@style/AppTheme"> 
+0

Sì, funziona !!! – Kevik

+1

@Kevik: è possibile contrassegnare questa risposta come corretta se si ottiene la soluzione – MAC

+1

@frayab +1 per la risposta corretta – MAC

1

Beh, avete già classe di applicazione all'interno - a partire <application. Se si dispone di una classe personalizzata (che si estende Application) nel codice e vuole iniziare - mettere

android:name=".Monitor" (or full path like com.something.app.Monitor) 

dopo <application tag (lo stesso processo si dovrebbe aggiungere un'attività).

2

semplice, mettere attributo android:name con l'applicazione nome di classe in <application /> tag di Application Manifest.xml

<application 
android:name=".Monitor" 
    .... > 

Aggiornamento:

Class Applicazione:

Classe base per coloro che devono mantenere lo stato di applicazione globale. È possibile fornire la propria implementazione specificandone il nome nel tag di AndroidManifest.xml, che con farà sì che tale classe venga istanziata per voi quando viene creato il processo per l'applicazione/pacchetto.

Maggiori informazioni un'occhiata a http://developer.android.com/reference/android/app/Application.html

7

Prova questo:

<application android:icon="@drawable/icon" 
     android:label="@string/app_name" 
     android:name="Monitor"> 

Vedi il link buon riferimento qui sotto:

How to use the Application object of Android

Grazie.

+0

controllerò il collegamento – Kevik

+0

@Kevik otterrai un buon esempio di' Classe applicazione 'con tutti i dettagli richiesti con questo link. Grazie. –

+0

Per condividere il link +1 – Patrick

1

Basta aggiungere un attributo android:name=".Monitor" al tag application (presumo che la classe Monitor.java si trovi nella radice del pacchetto dell'applicazione). Spero che questo ti aiuti.

0

uso questo

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.testing" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="16" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".Monitor" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

</manifest> 
1

quello che mi ha confuso è 'android: name' si presenta più volte nel file manifesto. prima di creare un file di classe dell'applicazione, avevo

android:name=".MainActivity" 

dopo il tag "attività".

dopo aver creato il file dell'applicazione, tutto in file manifesto rimane lo stesso, se non dopo tag 'applicazione', aggiungo

android:name=".myApplicationClass" 

mia completa file manifesto:

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

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
    <uses-permission android:name="android.permission.VIBRATE" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 

    <!-- 
     IMPORTANT: Change "com.parse.tutorials.pushnotifications.permission.C2D_MESSAGE" in the lines below 
     to match your app's package name + ".permission.C2D_MESSAGE". 
    --> 
    <permission android:protectionLevel="signature" 
     android:name="pixtas.com.nightout.permission.C2D_MESSAGE" /> 
    <uses-permission android:name="pixtas.com.nightout.permission.C2D_MESSAGE" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" 
     android:name=".myApplicationClass" > 


     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <service android:name="com.parse.PushService" /> 
     <receiver android:name="com.parse.ParseBroadcastReceiver"> 
      <intent-filter> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
       <action android:name="android.intent.action.USER_PRESENT" /> 
      </intent-filter> 
     </receiver> 
     <receiver android:name="com.parse.GcmBroadcastReceiver" 
      android:permission="com.google.android.c2dm.permission.SEND"> 
      <intent-filter> 
       <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
       <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 

       <!-- 
        IMPORTANT: Change "com.parse.tutorials.pushnotifications" to match your app's package name. 
       --> 
       <category android:name="pixtas.com.nightout" /> 
      </intent-filter> 
     </receiver> 
     <receiver android:name="com.parse.ParsePushBroadcastReceiver" android:exported="false"> 
      <intent-filter> 
       <action android:name="com.parse.push.intent.RECEIVE" /> 
       <action android:name="com.parse.push.intent.DELETE" /> 
       <action android:name="com.parse.push.intent.OPEN" /> 
      </intent-filter> 
     </receiver> 

     <!-- replace @drawable/push_icon with your push icon identifier --> 
     <meta-data android:name="com.parse.push.notification_icon" android:resource="@drawable/ic_launcher"/> 

    </application> 

</manifest> 
Problemi correlati