2016-01-06 87 views
1

我也跟着這樣的教程解析通知在Android https://parse.com/apps/quickstart#parse_push/android/native/existing解析Android通知沒有收到

但我還是不能接受我的應用程序的通知,這是我的清單

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

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.READ_CALL_LOG" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="android.permission.CALL_PHONE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.READ_CONTACTS" /> 
<uses-permission android:name="android.permission.WRITE_CONTACTS" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
<uses-permission android:name="android.permission.VIBRATE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
<permission android:protectionLevel="signature" 
    android:name="com.walid.app_247_parse.C2D_MESSAGE" /> 
<uses-permission android:name="com.walid.app_247_parse.C2D_MESSAGE" /> 
<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/Theme.AppCompat.Light.NoActionBar"> 
    <activity android:name=".Splash"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".UserPhoneNumber" /> 
    <activity android:name=".MainPage" /> 
    <activity android:name=".ChatView" /> 
    <activity android:name=".Connect_Main" /> 

    <meta-data 
     android:name="com.google.android.geo.API_KEY" 
     android:value="AIzaSyAZmjxQ_QZRG-0m-oMNcl0zC0H_eOEB8Jw" /> 

    <service android:name="com.parse.PushService" /> 
    <receiver android:name="com.parse.ParsePushBroadcastReceiver" 
     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" /> 
     </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.walid.app_247_parse" /> 
     </intent-filter> 
    </receiver> 
</application> 

也在我的發射活動中,我添加了這些行

Parse.initialize(this, getResources().getString(R.string.ParseAppID), getResources().getString(R.string.ParseClientID)); 

    ParseInstallation.getCurrentInstallation().saveInBackground(); 

    ParsePush.subscribeInBackground("247APP", new SaveCallback() { 
     @Override 
     public void done(com.parse.ParseException e) { 
      Log.e("PARSE", "Successfully subscribed to Parse!"); 
     } 


    }); 

我可以看到成功訂閱的日誌,並且每當我從parse.com發送通知時,仍然沒有顯示在我的設備中。 請注意,我對華碩Zenfone 2測試應用程序運行Android 5.

+0

後'ParsePushBroadcastReceiver'代碼 –

回答

0

調用從應用程序類(而不是你的發射活動)

AndroidManifest.xml中

<application 
    android:name=".MyApplication" 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/Theme.AppCompat.Light.NoActionBar"> 

MyApplication.java

public class MyApplication extends Application { 
    @Override 
    public void onCreate() { 
     super.onCreate(); 

     // Enable Local Datastore. 
     Parse.enableLocalDatastore(this); 

     // Add your initialization code here 
     Parse.initialize(this, getResources().getString(R.string.ParseAppID), getResources().getString(R.string.ParseClientID)); 

     // Subscribe to a channel 
     ParsePush.subscribeInBackground("twofourseven", new SaveCallback() { 
      @Override 
      public void done(ParseException e) { 
       if (e == null) { 
        Log.d("PARSE", "Successfully subscribed to Parse channel"); 
       } else { 
        Log.d("PARSE", "Failed to subscribe to Parse channel"); 
       } 
      } 
     }); 

     ParseUser.enableAutomaticUser(); 
     ParseACL defaultACL = new ParseACL(); 
     // Optionally enable public read access. 
     // defaultACL.setPublicReadAccess(true); 
     ParseACL.setDefaultACL(defaultACL, true); 
    } 
} 

編輯的onCreate方法Parse.initialize :

包名+「.permission.C2D_MESSAGE」(缺少.permission)

<permission android:protectionLevel="signature" android:name="com.walid.app_247_parse.permission.C2D_MESSAGE" /> 
<uses-permission android:name="com.walid.app_247_parse.permission.C2D_MESSAGE" /> 
+0

我跟着你的代碼,在頻道名稱爲「247APP」時出現了一個問題,因爲它以數字開頭,我將其更改爲twofourseven,現在它顯示「已成功訂閱解析頻道」,但仍無法接收通知,請注意,我在我的應用程序代碼用戶註冊與解析,並登錄, 謝謝 – user3099329

+0

是否缺少.permission在標記? – AlvinHKH

+0

非常感謝,它工作! – user3099329

0

變化

Log.e("PARSE", "Successfully subscribed to Parse!"); 

if (e==null){ 
    Log.e("Parse", "Success"); 
} else { 
    Log.e("PARSE", e.toString()); 
} 

看看是什麼錯誤,或者如果它是實際成功一部分。

+0

感謝您的幫助 – user3099329

+0

不要忘記你滿意你的解決方案時,將其設置爲問題回答/完整! – lawonga