【问题标题】:Parse.com not sending notification after changing the package nameParse.com 更改包名称后未发送通知
【发布时间】:2026-01-10 22:50:02
【问题描述】:

我正在使用 parse.com 将我的推送通知发送到我的应用程序。一切正常,直到我决定更改我的应用程序包名称。更改我的 android 应用程序包名称后,我的应用程序无法接收来自 parse.com 的推送通知。

我已经在 google playstore 上发布了我的应用程序。请问有没有办法解决这个问题?谢谢。

这是我的 manifest.xml

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

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

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

    <permission android:name="com.owatech.uccsrc.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />
    <uses-permission android:name="com.owatech.uccsrc.permission.C2D_MESSAGE" />

    <application
         android:name="com.owatech.uccsrc.NotificationParseRegister"
         android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" 
        android:theme="@style/AppBaseTheme">
        <activity
            android:label="@string/app_name"
            android:name="com.owatech.uccsrc.WelcomeScreen" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

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

        <!-- Welcome Home Screen Activity -->
        <activity 
            android:label="@string/app_name"
            android:name="com.owatech.uccsrc.DashBoardActivity">
        </activity>

        <!-- News Feed Activity -->
        <activity 
            android:label="@string/news_feed"
            android:name="com.owatech.uccsrc.NewsFeedActivity" 
             android:parentActivityName="com.owatech.uccsrc.DashBoardActivity"
             android:icon="@drawable/newsfeed">
               <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.owatech.uccsrc.DashBoardActivity" />
        </activity>

        <!-- Notification Activity -->
        <activity
             android:label="@string/notifications" 
            android:name="com.owatech.uccsrc.Notification" 
            android:parentActivityName="com.owatech.uccsrc.DashBoardActivity"
            android:icon="@drawable/notifications">
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.owatech.uccsrc.DashBoardActivity" />
        </activity>


        <!-- Single Notification Activity -->
        <activity
             android:label="@string/notification"  
            android:name="com.owatech.uccsrc.SingleNotification" 
            android:parentActivityName="com.owatech.uccsrc.Notification"
            android:icon="@drawable/notifications"> 
             <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.owatech.uccsrc.Notification" />          
        </activity>

         <!-- Constitution Activity -->
        <activity 
             android:label="@string/src_constitution" 
            android:name="com.owatech.uccsrc.Constitution" 
            android:parentActivityName="com.owatech.uccsrc.DashBoardActivity"
            android:icon="@drawable/constitution">
                <meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value="com.owatech.uccsrc.DashBoardActivity" />
        </activity>

         <!-- Constitution Details Activity -->
        <activity 
            android:name="com.owatech.uccsrc.ConstitutionDetails" 
            android:parentActivityName="com.owatech.uccsrc.Constitution"
            android:icon="@drawable/constitution">
                <meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value="com.owatech.uccsrc.Constitution" />
        </activity>


         <!-- History Activity -->
        <activity 
             android:label="@string/history" 
            android:name="com.owatech.uccsrc.History" 
            android:parentActivityName="com.owatech.uccsrc.DashBoardActivity"
            android:icon="@drawable/history">
                <meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value="com.owatech.uccsrc.DashBoardActivity" />
        </activity>

        <!-- SRC COMMITTEE Activity -->
        <activity 
             android:label="@string/committees" 
            android:name="com.owatech.uccsrc.SrcCommittees" 
            android:parentActivityName="com.owatech.uccsrc.DashBoardActivity"
            android:icon="@drawable/committee">
                <meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value="com.owatech.uccsrc.DashBoardActivity"
                     />
        </activity>

          <!-- SRC COMMITTEE DETAILS Activity -->
        <activity 

            android:name="com.owatech.uccsrc.CommitteeDetails" 
            android:parentActivityName="com.owatech.uccsrc.SrcCommittees"
            android:icon="@drawable/committee">
                <meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value="com.owatech.uccsrc.SrcCommittees" />
        </activity>

          <!-- ABOUT SRC Activity -->
        <activity 
            android:label="@string/aboutSRC" 

            android:name="com.owatech.uccsrc.AboutSRC" 
            android:parentActivityName="com.owatech.uccsrc.DashBoardActivity">
                <meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value="com.owatech.uccsrc.DashBoardActivity" />
        </activity>


          <!-- Settings Activity -->
        <activity 
             android:theme="@android:style/Theme.Dialog"

            android:label="Settings and Preferences" 
            android:name="com.owatech.uccsrc.Settings" 
           android:parentActivityName="com.owatech.uccsrc.DashBoardActivity"
            >
                <meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value="com.owatech.uccsrc.DashBoardActivity" />
        </activity>
                  <!-- STUDENTS PORTAL Activity -->
        <activity 
            android:label="Student Portal" 
            android:name="com.owatech.uccsrc.StudentPortal" 
           android:parentActivityName="com.owatech.uccsrc.DashBoardActivity">
                <meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value="com.owatech.uccsrc.DashBoardActivity" />
        </activity>

            <!-- Src Executives Activity -->
        <activity 
            android:label="SRC Executives" 
            android:name="com.owatech.uccsrc.SrcExecutives" 
           android:parentActivityName="com.owatech.uccsrc.DashBoardActivity"
            android:icon="@drawable/executives">
                <meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value="com.owatech.uccsrc.DashBoardActivity" />
        </activity>

          <!-- Online Constitution Activity -->
        <activity 
            android:label="SRC Constitution" 
            android:name="com.owatech.uccsrc.OnlineConstitution" 
           android:parentActivityName="com.owatech.uccsrc.DashBoardActivity"
            android:icon="@drawable/constitution">
                <meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value="com.owatech.uccsrc.DashBoardActivity" />
        </activity>

        <!-- Service -->
        <service android:name="com.parse.PushService" />

        <receiver android:name="com.owatech.uccsrc.ParsePushReciverNotifications"
            android:exported="false">
          <intent-filter>
            <action android:name="com.parse.push.intent.RECEIVE" />
            <action android:name="com.parse.push.intent.DELETE" />
            <action android:name="com.parse.push.intent.OPEN" />
             <action android:name="com.parse.starter.NEW_NOTIF" />
            </intent-filter>
        </receiver>

        <receiver android:name="com.parse.ParseBroadcastReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.USER_PRESENT" />
            </intent-filter>
        </receiver>

        <receiver android:name="com.parse.GcmBroadcastReceiver"
            android:permission="com.google.android.c2dm.permission.SEND">
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />


                <category android:name="com.owatech.uccsrc" />
            </intent-filter>
        </receiver>

    </application>

</manifest>

【问题讨论】:

  • 您如何通过客户端 -> 客户端或解析(服务器)-> 客户端发送推送通知?同时发布您正在使用的推送命令
  • 我正在使用解析(服务器)-> 客户端发送推送通知
  • 您是否正在向所有收件人发送邮件,并且他们都已注册? Parse 应该向您显示您是否成功发送它们。如果设备已注册,更改包名应该没有问题
  • 哦,对了,我知道为什么,链接我你的 android manifest 以注册 Parse 推送通知部分
  • 是的,我正在发送给所有收件人,他们的设备都以新的包裹名称注册。所以新包名的人不会收到消息,而旧包名的人会收到推送通知

标签: android parsing push


【解决方案1】:

我遇到了同样的问题。更改包名称后,我无法接收推送通知,即使它在解析推送通知仪表板上显示“已发送”。后来我意识到 parse 是使用FCM(Firebase Cloud Messaging) 来实现推送通知。我有一个 FCM 发件人 ID 和服务器密钥,这是在 firebase 上创建项目并向该项目添加应用程序后获得的。在将应用程序添加到 firebase 项目时,我添加了我的应用程序的包名称。因此,当我更改包名称时,我的应用程序与 firebase 项目上的应用程序之间的连接丢失了。这就是为什么我没有收到通知。

所以,有两种解决方案:

  1. 您必须在 firebase 上创建一个新项目,并使用新的包名称将新应用程序添加到该项目。然后您将获得新的发件人 ID 和服务器密钥,您必须将其替换为旧的发件人 ID 和服务器密钥。
  2. 将具有新包名称的新应用添加到现有的 firebase 项目。

我做了第一个,它对我有用。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,发现我没有更新 gradle 文件以获得新的包名。这解决了问题

    【讨论】:

      最近更新 更多