源码分析Mms--AndroidManifest.xml分析

权限

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.READ_PROFILE" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.RECEIVE_MMS" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_SMS"/>
    <uses-permission android:name="android.permission.WRITE_SMS"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INSTALL_DRM" />
    <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
    <uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" />


    <!--SMS letters 7bit -16bit management-->
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />

    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
    <uses-permission android:name="android.permission.REORDER_TASKS" />

    <!-- System apps can access the  receiver through intent-->
    <permission android:name="android.permission.MMS_SEND_OUTBOX_MSG"
                android:protectionLevel="signatureOrSystem"
                android:label="@string/label_mms_send_outbox_msg"
                android:description="@string/desc_mms_send_outbox_msg"/>
    <uses-permission android:name="android.permission.MMS_SEND_OUTBOX_MSG"/>
    <uses-permission android:name="com.android.email.permission.ACCESS_PROVIDER"/>



    <application android:name="MmsApp"
            android:label="@string/app_label"
            android:icon="@mipmap/ic_launcher_smsmms"
            android:taskAffinity="android.task.mms"
            android:backupAgent="QTIBackupAgent"
            android:hardwareAccelerated="true"
            android:largeHeap="true"
            android:allowTaskReparenting="true">

android:taskAffinity,链接http://www.2cto.com/kf/201107/96815.html

 

android中application标签说明


http://blog.csdn.net/small_love/article/details/6534956

得到以下结论: 
    1、当一个应用程序加载一个singleInstance模式的Activity时,如果该Activity没有被实例化,那么就重新创建一个Task,并入栈,如果已经被实例化,那么就调用该Activity的onNewIntent; 

    2、singleInstance的Activity所在的Task不允许存在其他Activity,任何从该Activity加载的其它 Actiivty(假设为Activity2)都会被放入其它的Task中,如果存在与Activity2相同affinity的Task,则在该 Task内创建Activity2。如果不存在,则重新生成新的Task并入栈。

        <service android:name=".transaction.TransactionService"
                 android:exported="false" />


        <service android:name=".transaction.SmsReceiverService"
                 android:exported="false" />

这个属性用于指示该服务是否能够被其他应用程序组件调用或跟它交互。如果设置为true,则能够被调用或交互,否则不能。设置为false时,只有同一个应用程序的组件或带有相同用户ID的应用程序才能启动或绑定该服务。
它的默认值依赖与该服务所包含的过滤器。没有过滤器则意味着该服务只能通过指定明确的类名来调用,这样就是说该服务只能在应用程序的内部使用(因为其他外部使用者不会知道该服务的类名),因此这种情况下,这个属性的默认值是false。另一方面,如果至少包含了一个过滤器,则意味着该服务可以给外部的其他应用提供服务,因此默认值是true。
这个属性不是限制把服务暴露给其他应用程序的唯一方法。还可以使用权限来限制能够跟该服务交互的外部实体。

        <activity android:name=".ui.ConversationList"
                  android:label="@string/app_label"
                  android:exported="true"
                  android:configChanges="orientation|screenSize|keyboardHidden|mcc|mnc"
                  android:theme="@style/MmsHoloTheme"
                  android:uiOptions="splitActionBarWhenNarrow"
                  android:launchMode="singleTop">
        </activity>



        <activity android:name=".ui.BootActivity"
                  android:theme="@android:style/Theme.NoDisplay">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.APP_MESSAGING" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="vnd.android.cursor.dir/mms" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="vnd.android-dir/mms-sms" />
            </intent-filter>
        </activity>


BootActivity是用来修改之后的入口activity,判断是进入分屏界面还是单屏界面。

ComposeMessageActivity是主要的

        <activity android:name=".ui.ComposeMessageActivity"
                  android:configChanges="orientation|screenSize|keyboardHidden"
                  android:windowSoftInputMode="stateHidden|adjustResize"
                  android:theme="@style/MmsHoloTheme"
                  android:parentActivityName=".ui.BootActivity"
                  android:launchMode="singleTop" >
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="vnd.android-dir/mms-sms" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.SENDTO" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="sms" />
                <data android:scheme="smsto" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.SENDTO" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="mms" />
                <data android:scheme="mmsto" />
            </intent-filter>
           <intent-filter>
               <action android:name="android.intent.action.SEND" />
               <category android:name="android.intent.category.DEFAULT" />
               <data android:mimeType="image/*" />
           </intent-filter>
           <intent-filter>
               <action android:name="android.intent.action.SEND" />
               <category android:name="android.intent.category.DEFAULT" />
               <data android:mimeType="text/plain" />
           </intent-filter>
           <intent-filter>
               <action android:name="android.intent.action.SEND_MULTIPLE" />
               <category android:name="android.intent.category.DEFAULT" />
               <data android:mimeType="image/*" />
           </intent-filter>
   
           <!-- There is no Message option to share music file and video file to Message -->
           <intent-filter>
               <action android:name="android.intent.action.SEND" />
               <category android:name="android.intent.category.DEFAULT"/>
               <data android:mimeType="video/*" />
           </intent-filter>
           <intent-filter>
               <action android:name="android.intent.action.SEND" />
               <category android:name="android.intent.category.DEFAULT"/>
               <data android:mimeType="audio/*" />
           </intent-filter>
  
           <intent-filter>
               <action android:name="android.intent.action.SEND" />
               <category android:name="android.intent.category.DEFAULT" />
               <data android:mimeType="text/x-vcalendar" />
           </intent-filter>
        </activity>


        <activity-alias android:name=".ui.ForwardMessageActivity"
                  android:targetActivity=".ui.ComposeMessageActivity"
                  android:configChanges="orientation|screenSize|keyboardHidden"
                  android:windowSoftInputMode="stateHidden"
                  android:theme="@style/MmsHoloTheme" >
        </activity-alias>


        <!-- Catch-all receiver for broadcasts that don't have associated security -->
        <receiver android:name=".transaction.SmsReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
            <intent-filter>
                <action android:name="com.android.mms.transaction.MESSAGE_SENT" />
                <!-- TODO Do a better data match here. -->
                <data android:scheme="content" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.SEND_MESSAGE" />
            </intent-filter>
            <intent-filter>
                <action android:name="com.android.mms.transaction.SEND_MESSAGE" />
            </intent-filter>
        </receiver>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值