如何在清单文件中注册应用程序类?

时间:2012-12-19 09:54:50

标签: android xml manifest

如何在我的Android清单中注册我的应用程序类?我在网上看了很多教程,但仍然无法做到正确。我的应用程序类名为Monitor.java。如何在下面的清单文件代码中注册它?

<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>

7 个答案:

答案 0 :(得分:51)

<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">

答案 1 :(得分:7)

试试这个:

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

请参阅下面的好参考链接:

How to use the Application object of Android

感谢。

答案 2 :(得分:2)

简单,将android:name属性与应用程序类名称放在应用程序的 Manifest.xml

<application />标记中
<application
 android:name=".Monitor"
   .... >

<强>更新

申请类:

  

需要维护全局应用程序状态的基类。   你可以提供自己的       通过在AndroidManifest.xml的标记中指定其名称来实现       将在创建应用程序/包的进程时为您实例化该类。

更多信息请查看http://developer.android.com/reference/android/app/Application.html

答案 3 :(得分:1)

好吧,你已经有了应用程序类 - 从<application开始。如果您的代码中有自定义类(扩展Application)并希望它开始 - 请

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

<application标记之后(与添加活动的过程相同)。

答案 4 :(得分:1)

只需在android:name=".Monitor"标记中添加application属性(我假设Monitor.java类位于应用程序包的根目录中)。希望这会有所帮助。

答案 5 :(得分:1)

让我困惑的是&#39; android:name&#39;在清单文件中多次显示。在创建应用程序类文件之前,我有

android:name=".MainActivity"
在&#39;活动之后

标签。

创建应用程序文件后,清单文件中的所有内容都保持不变,除非在“应用程序”之后。标签,我添加

android:name=".myApplicationClass"

我的完整清单文件:

<?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>

答案 6 :(得分:0)

使用这个

<?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>