2016-05-15 21 views
0

我在清單下列活動:Android Manifest中的內容是強制性的?

<activity 
    android:name="com.your.package.name.YourActivity" 
    android:label="@string/app_name"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 

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

是類別名稱有必要嗎?而關於android.intent.action?我的意思是,我看到了很多的教程,其中大部分重複有關建議名稱相同的規則,以及我是如何開始的,我想知道我真的可以更改,恕不犯錯誤

回答

2

是類別必要的名字?關於android.intent.action?

所有普通的Android SDK應用程序需要與你在你的問題有<intent-filter>結構的至少一個<activity><intent-filter>說:「嘿,主屏幕(以及其他任何類似發射器的東西)都包含啓動此活動的選項!」。

如果您的清單中有兩個或更多<activity>元素,則不需要它們全部都是<intent-filter>。大多數時候,你不要想要<intent-filter>所有。將它放在啓動器上,根據需要跳過(或更改)其他活動。

例如,在this sample app,我有兩個活動定義,但只有一個具有發射<intent-filter>

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

    <uses-sdk 
     android:minSdkVersion="7" 
     android:targetSdkVersion="11"/> 

    <supports-screens 
     android:largeScreens="true" 
     android:normalScreens="true" 
     android:smallScreens="true"/> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name"> 
     <activity 
      android:name="ExplicitIntentsDemoActivity" 
      android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 

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

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

    <uses-sdk 
     android:minSdkVersion="15" 
     android:targetSdkVersion="23" /> 


    <action android:name="android.intent.action.PHONE_STATE" /> 

    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="com.android.alarm.permission.SET_ALARM" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> 
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
    <uses-permission android:name="android.permission.VIBRATE" /> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.CAMERA" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.PREVENT_POWER_KEY" /> 
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 


    <uses-feature 
     android:name="android.hardware.camera" 
     android:required="false" /> 
    <uses-feature 
     android:name="android.hardware.camera.flash" 
     android:required="false" /> 
    <uses-feature 
     android:name="android.hardware.camera.autofocus" 
     android:required="false" /> 
    <uses-feature 
     android:name="android.hardware.location" 
     android:required="false" /> 
    <uses-feature 
     android:name="android.hardware.location.gps" 
     android:required="false" /> 
    <uses-feature 
     android:name="android.hardware.location.network" 
     android:required="false" /> 

    <supports-screens 
     android:anyDensity="true" 
     android:largeScreens="true" 
     android:normalScreens="true" 
     android:resizeable="true" 
     android:smallScreens="true" 
     android:xlargeScreens="true" /> 
    <uses-feature 
     android:name="android.hardware.touchscreen" 
     android:required="false" /> 


    <application 
     android:allowBackup="true" 
     android:icon="@drawable/app_icon" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 


     <activity 
      android:name=".Activity_Class.Splash_Screen" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" 
      android:theme="@style/AppTheme.NoActionBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <activity 
      android:name=".Activity_Class.Life_Screen" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" 
      android:theme="@style/AppTheme.NoActionBar" /> 


     <activity 
      android:name=".Activity_Class.Health_Screen" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" 
      android:theme="@style/AppTheme.NoActionBar" /> 


     <activity 
      android:name=".Activity_Class.Study_Screen" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" 
      android:theme="@style/AppTheme.NoActionBar" /> 


     <activity 
      android:name=".Activity_Class.Work_Screen" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" 
      android:theme="@style/AppTheme.NoActionBar" /> 


     <activity 
      android:name=".Activity_Class.Alarm_Screen" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" 
      android:theme="@style/AppTheme.NoActionBar" 
      android:windowSoftInputMode="stateHidden" /> 


     <activity 
      android:name=".Activity_Class.CalendarView" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" 
      android:theme="@style/AppTheme.NoActionBar" /> 


     <activity 
      android:name=".Activity_Class.Alarm_Final_Screen" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" 
      android:theme="@style/AppTheme.NoActionBar" /> 


     <activity 
      android:name=".Activity_Class.View_Pager_Doc" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" 
      android:theme="@style/AppTheme.NoActionBar" /> 


     <activity 
      android:name=".Activity_Class.Sub_Category_Screen" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" 
      android:theme="@style/AppTheme.NoActionBar" /> 


     <activity 
      android:name=".Activity_Class.Alarm_Screen_for_user_Review" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" 
      android:theme="@style/AppTheme.NoActionBar" /> 


     <activity 
      android:name=".Activity_Class.Progress_Screen" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" 
      android:theme="@style/AppTheme.NoActionBar" /> 


     <!-- <receiver android:name=".Activity_Class.commonFunctionalityController.AlarmReceiver" />--> 
     <receiver 
      android:name=".Activity_Class.commonFunctionalityController.AlarmReceiver" 
      android:enabled="true" 
      android:process=":remote"> 
      <intent-filter> 
       <action android:name="com.elite.youvaa" /> 
       <action android:name="android.intent.action.DATE_CHANGED" /> 
       <action android:name="android.intent.action.NOTIFY" /> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
       <action android:name="android.intent.action.TIME_SET" /> 
       <action android:name="android.intent.action.TIMEZONE_CHANGED" /> 
       <action android:name="android.intent.action.TIME_TICK" /> 
       <action android:name="android.intent.action.REBOOT" /> 
      </intent-filter> 
     </receiver> 
     <service android:name=".Activity_Class.commonFunctionalityController.MyAlarmService" 
      android:enabled="true" /> 


    </application> 

</manifest>