繁体   English   中英

Android 12 导出 True 不在通知栏中显示通知

[英]Android 12 Exported True not showing notifications in the notification bar

我不得不为 Android 12 修改我的应用程序。该应用程序现在运行并且通知出现但仅在应用程序本身内,在此之前它们将位于通知栏中。 我修复了需要android:exported="true"的区域,因此它会在 Android 12 上启动。但是我没有在通知栏中收到通知。 有人可以帮我指出我在哪里没有添加导出的规则,或者我是否需要做其他事情?

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.spliceystudios.apps.esf"
    xmlns:tools="http://schemas.android.com/tools">

    <queries>
        <package android:name="com.google.android.apps.maps" />
    </queries>

    <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.CALL_PHONE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove"/> <!-- BroadcastReceiver permission to listen to the network -->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.BLUETOOTH" /> <!-- Required OpenGL ES 2.0. for Maps V2 -->
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />
    <uses-feature
        android:name="android.hardware.location"
        android:required="true" />
    <uses-feature
        android:name="android.hardware.location.gps"
        android:required="true" />
    <uses-feature
        android:name="android.hardware.camera"
        android:required="true" />

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

    <application
        android:name="com.spliceystudios.apps.esf.AppController"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:networkSecurityConfig="@xml/network_security_config"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:replace="android:icon,android:theme,android:supportsRtl"
        >
        <activity
            android:name="com.spliceystudios.apps.esf.activities.ReportIssueActivity"
            android:label="@string/title_activity_report_issue"
            android:theme="@style/AppTheme.NoActionBar"></activity>

        <uses-library
            android:name="org.apache.http.legacy"
            android:required="false" /> <!-- Goolge Maps API Key -->
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="@string/map_api_key0" />
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="@string/ad_app_id" />

        <service android:name="com.spliceystudios.apps.esf.push_notification_firebase.FirebaseMessagingServiceIns"
            android:exported="true">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>
        <service android:name="com.spliceystudios.apps.esf.push_notification_firebase.FirebaseInstanceIDService"
            android:exported="true">
            <intent-filter>
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
            </intent-filter>
        </service>

        <activity
            android:name="com.google.android.gms.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
            android:theme="@android:style/Theme.Translucent"

            />

        <receiver android:name="com.spliceystudios.apps.esf.dtmessenger.DCMBroadcastReceiver"
            android:exported="true">
            <intent-filter>
                <action
                    android:name="android.net.conn.CONNECTIVITY_CHANGE"
                    tools:ignore="BatteryLife" />
                <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
            </intent-filter>
        </receiver>

        <activity
            android:name="com.spliceystudios.apps.esf.activities.IntroSliderActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.MessengerActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.ReviewsActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.OffersListActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.ListUsersActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.InboxActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.wuadam.awesomewebview.AwesomeWebViewActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:hardwareAccelerated="true"
            android:theme="@style/FinestWebViewTheme.Light" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.MainActivity"
            android:configChanges="uiMode"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.MapDirectionActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.MapStoresListActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.AboutActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.ProfileActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.CategoriesActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.ListStoresActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.EventsListActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.StoresListActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.PeopleListActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.CustomSearchActivity"
            android:screenOrientation="portrait" />
        <activity
            android:exported="true"
            android:name="com.spliceystudios.apps.esf.activities.SplashActivity"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.spliceystudios.apps.esf.activities.SettingActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.SliderActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.GalleryActivity"
            android:screenOrientation="portrait" />
        <activity
            android:exported="true"
            android:name="com.spliceystudios.apps.esf.activities.OfferDetailActivity"
            android:screenOrientation="portrait">
            <intent-filter android:label="@string/_DP_OFFER_MESSAGE">
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->

                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_OFFER"
                    android:scheme="nsapp" />
                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_OFFER"
                    android:scheme="http" />
                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_OFFER"
                    android:scheme="https" />

                <!-- WITH INDEX -->
                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_OFFER_INDEX"
                    android:scheme="nsapp" />
                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_OFFER_INDEX"
                    android:scheme="http" />
                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_OFFER_INDEX"
                    android:scheme="https" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.spliceystudios.apps.esf.activities.StoreDetailActivity"
            android:screenOrientation="portrait"
            android:exported="true">
            <intent-filter android:label="@string/_DP_STORE_MESSAGE">
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->

                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_STORE"
                    android:scheme="nsapp" />
                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_STORE"
                    android:scheme="http" />
                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_STORE"
                    android:scheme="https" />

                <!-- WITH INDEX -->
                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_STORE_INDEX"
                    android:scheme="nsapp" />
                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_STORE_INDEX"
                    android:scheme="http" />
                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_STORE_INDEX"
                    android:scheme="https" />

                <!-- note that the leading "/" is required for pathPrefix -->
            </intent-filter>
        </activity>
        <activity
            android:name="com.spliceystudios.apps.esf.activities.EventDetailActivity"
            android:screenOrientation="portrait"
            android:exported="true">
            <intent-filter android:label="@string/_DP_EVENT_MESSAGE">
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_EVENT"
                    android:scheme="nsapp" />
                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_EVENT"
                    android:scheme="http" />
                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_EVENT"
                    android:scheme="https" />
                <!-- note that the leading "/" is required for pathPrefix -->


                <!-- WITH INDEX -->
                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_EVENT_INDEX"
                    android:scheme="nsapp" />
                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_EVENT_INDEX"
                    android:scheme="http" />
                <data
                    android:host="@string/_DP_HOST_NAME"
                    android:pathPrefix="@string/DP_PATH_PREFIX_EVENT_INDEX"
                    android:scheme="https" />
            </intent-filter>
        </activity> <!-- Version 2.0 activities -->
        <activity
            android:name="com.spliceystudios.apps.esf.activities.V2MainActivity"
            android:configChanges="uiMode"
            android:label="@string/title_activity_v2_main"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.CustomSearchActivity$LoginActivityV2"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.CustomSearchActivity$ResultFilterActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.customView.AdvancedWebViewActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.customView.PaymentWebViewActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.booking.views.activities.ServiceOptionsActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.booking.views.activities.BookingCheckoutActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.booking.views.activities.BookingListActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.booking.views.activities.BookingDetailActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.spliceystudios.apps.esf.activities.FindMyPlaceActivity"
            android:screenOrientation="portrait" />
    </application>

</manifest>

在您的FirebaseMessagingServiceIns / MESSAGING_EVENT部分,将exported值更改为false

    <service android:name="com.spliceystudios.apps.esf.push_notification_firebase.FirebaseMessagingServiceIns"
        android:exported="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>

它将与 Firebase 网站https://firebase.google.com/docs/cloud-messaging/android/client上的指南相匹配

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM