<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="cn.jiguang.plugins.push" >

    <uses-sdk
        android:minSdkVersion="26"
        android:targetSdkVersion="33" />

    <permission
        android:name="dollar_openBracket_applicationId_closeBracket.permission.JPUSH_MESSAGE"
        android:protectionLevel="signature" />

    <!-- Required -->
    <uses-permission android:name="dollar_openBracket_applicationId_closeBracket.permission.JPUSH_MESSAGE" />
    <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    <!-- Optional. Required for location feature -->
    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />

    <application>
        <activity
            android:name="cn.jpush.android.ui.PopWinActivity"
            android:exported="false"
            android:theme="@style/MyDialogStyle" />
        <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="dollar_openBracket_applicationId_closeBracket" />
            </intent-filter>
        </activity>
        <activity
            android:name="cn.jpush.android.service.JNotifyActivity"
            android:exported="true"
            android:taskAffinity="jpush.custom"
            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="dollar_openBracket_applicationId_closeBracket" />
            </intent-filter>
        </activity>

        <receiver
            android:name="cn.jiguang.plugins.push.receiver.JPushModuleReceiver"
            android:enabled="true"
            android:exported="false" >
            <intent-filter>
                <action android:name="cn.jpush.android.intent.RECEIVE_MESSAGE" />

                <category android:name="dollar_openBracket_applicationId_closeBracket" />
            </intent-filter>
        </receiver>
        <receiver
            android:name="cn.jiguang.plugins.push.receiver.JPushBroadcastReceiver"
            android:enabled="true"
            android:exported="false" >
            <intent-filter>
                <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" />

                <category android:name="dollar_openBracket_applicationId_closeBracket" />
            </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="jpush.custom"
            android:theme="@style/JPushTheme" >
            <intent-filter>
                <action android:name="cn.android.service.JTransitActivity" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="dollar_openBracket_applicationId_closeBracket" />
            </intent-filter>
        </activity>
        <activity
            android:name="cn.jpush.android.service.DActivity"
            android:enabled="true"
            android:exported="true"
            android:taskAffinity="jpush.custom"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" >
            <intent-filter>
                <action android:name="cn.jpush.android.intent.DActivity" />

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

        <service
            android:name="cn.jpush.android.service.DaemonService"
            android:enabled="true"
            android:exported="true"
            tools:node="remove" >
            <intent-filter>
                <action android:name="cn.jpush.android.intent.DaemonService" />

                <category android:name="dollar_openBracket_applicationId_closeBracket" />
            </intent-filter>
        </service>

        <!-- Since JCore2.0.0 Required SDK核心功能 -->
        <!-- 可配置android:process参数将Service放在其他进程中；android:enabled属性不能是false -->
        <!-- 这个是自定义Service，要继承极光JCommonService，可以在更多手机平台上使得推送通道保持的更稳定 -->
        <service
            android:name="cn.jiguang.plugins.push.common.UserService"
            android:enabled="true"
            android:exported="false"
            android:process=":pushcore" >
            <intent-filter>
                <action android:name="cn.jiguang.user.service.action" />
            </intent-filter>
        </service>

        <provider
            android:name="cn.jpush.android.service.DownloadProvider"
            android:authorities="dollar_openBracket_applicationId_closeBracket.DownloadProvider"
            android:exported="true"
            tools:node="remove" />

        <receiver
            android:name="cn.jpush.android.service.AlarmReceiver"
            tools:node="remove" />
        <receiver
            android:name="cn.jpush.android.service.PushReceiver"
            android:enabled="true"
            android:exported="false"
            tools:node="replace" >
            <intent-filter android:priority="1000" >
                <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" /> <!-- Required  显示通知栏 -->
                <category android:name="dollar_openBracket_applicationId_closeBracket" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            </intent-filter>
        </receiver>
    </application>

</manifest>