<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    >

    <permission
        android:name="${applicationId}.permission.JPUSH_MESSAGE"
        android:protectionLevel="signature" />
    <!-- Required -->
    <uses-permission android:name="${applicationId}.permission.JPUSH_MESSAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!-- 适配Android13，弹出通知必须权限-->
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>

    <!-- Optional. Required for location feature -->
    <!-- 为了提高sdk识别唯一用户的能力，保证消息推送的精准送达，建议集成以下权限（可选）-->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <!-- 注掉 QUERY_ALL_PACKAGES 避免应用市场审核失败 -->
    <!-- <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/> -->
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    <!-- 如您需要接入地理围栏业务，建议集成以下权限（可选）-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

    <!-- 如您需要对应设备通知相关的能力，建议集成以下权限（可选）-->
    <!--华为角标-->
    <uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
    <!--vivo 角标-->
    <uses-permission android:name="com.vivo.notification.permission.BADGE_ICON" />
    <!--honor 角标-->
    <uses-permission android:name="com.hihonor.android.launcher.permission.CHANGE_BADGE" />
    <!--小米 推送必须-->
    <uses-permission android:name="android.permission.VIBRATE" />

    <!-- 扩展备用权限（可选）-->
    <permission android:name="${applicationId}.permission.JOPERATE_MESSAGE" android:protectionLevel="signature"/>
    <uses-permission android:name="${applicationId}.permission.JOPERATE_MESSAGE" />
    
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

    <application>
        <activity
            android:name="cn.jpush.android.ui.PopWinActivity"
            android:exported="true"
            android:theme="@style/MyDialogStyle" >
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT" />
                <action android:name="cn.jpush.android.ui.PopWinActivity" />
                <category android:name="${applicationId}" />
            </intent-filter>
        </activity>

        <activity
            android:name="cn.jpush.android.ui.PushActivity"
            android:configChanges="orientation|keyboardHidden"
            android:exported="true"
            android:theme="@android:style/Theme.NoTitleBar">
            <intent-filter>
                <action android:name="cn.jpush.android.ui.PushActivity" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="${applicationId}" />
            </intent-filter>
        </activity>

       <activity
            android:name="cn.jpush.android.service.JNotifyActivity"
            android:exported="true"
            android:taskAffinity=""
            android:theme="@style/JPushTheme">
            <intent-filter>
                <action android:name="cn.jpush.android.intent.JNotifyActivity" />
                <category android:name="android.intent.category.DEFAULT" /><!--Required SDK核心功能 since 4.2.2-->
                <category android:name="${applicationId}" />
            </intent-filter>
        </activity>

        <!-- Required since 3.0.7 -->
        <!-- 新的 tag/alias 接口结果返回需要开发者配置一个自定的广播 -->
        <!-- 3.3.0开始所有事件将通过该类回调 -->
        <!-- 该广播需要继承 JPush 提供的 JPushMessageService 类, 并如下新增一个 Intent-Filter -->
        <receiver
            android:name=".receiver.JPushModuleReceiver"
            android:enabled="true"
            android:exported="false">
            <intent-filter>
                <action android:name="cn.jpush.android.intent.RECEIVER_MESSAGE" />
                <category android:name="${applicationId}" />
            </intent-filter>
        </receiver>

        <receiver
            android:name=".receiver.JPushBroadcastReceiver"
            android:enabled="true"
            android:exported="false">
            <intent-filter>
                <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" />
                <category android:name="${applicationId}" />
            </intent-filter>
        </receiver>

        <receiver android:name="cn.jpush.android.service.SchedulerReceiver" android:exported="false"/>
        <!-- since 4.6.0 Required SDK核心功能 -->
        <activity
            android:name="cn.android.service.JTransitActivity"
            android:exported="true"
            android:taskAffinity=""
            android:theme="@style/JPushTheme" >
            <intent-filter>
                <action android:name="cn.android.service.JTransitActivity" />
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="${applicationId}" />
            </intent-filter>
        </activity>
        <activity android:name="cn.jpush.android.service.DActivity"
            android:enabled="true"
            android:exported="true"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:taskAffinity="">
            <intent-filter>
                <action android:name="cn.jpush.android.intent.DActivity"/>
                <category android:name="${applicationId}" />
            </intent-filter>
        </activity>
        <provider
            android:name="cn.jpush.android.service.InitProvider"
            android:authorities="${applicationId}.jiguang.InitProvider"
            android:exported="false"
            android:readPermission="${applicationId}.permission.JPUSH_MESSAGE"
            android:writePermission="${applicationId}.permission.JPUSH_MESSAGE" />
    </application>

</manifest>
