我想使用Parse推送通知。當我在Android模擬器上測試應用程序時,發現一些設備有一些設備沒有deviceToken。如果沒有deviceToken,則此設備無法接收通知。我該如何解決這個問題?以下是我的代碼。使用Parse通知安裝Android設備時沒有設備令牌
public class ShooksApplication extends Application {
public void onCreate() {
super.onCreate();
Parse.initialize(this, "***********", "*******************");
ParseInstallation installation = ParseInstallation.getCurrentInstallation();
installation.saveInBackground();
}
}
而清單正在工作,因爲具有deviceToken的設備可以接收通知。但是我看到安裝中所有數據的pushType是gcm。 下面是我的清單:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.cs442.project.team13" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<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" />
<!--
IMPORTANT: Change "com.parse.starter.permission.C2D_MESSAGE" in the lines below
to match your app's package name + ".permission.C2D_MESSAGE".
-->
<permission android:protectionLevel="signature"
android:name="com.cs442.project.team13.permission.C2D_MESSAGE" />
<uses-permission android:name="com.cs442.project.team13.permission.C2D_MESSAGE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:name=".ShooksApplication">
<activity
android:name="com.cs442.project.team13.MainPage"
android:label="Search"
android:theme="@style/Theme.MyCompatTheme">
<meta-data
android:name="android.app.default_searchable"
android:value=".SearchBookResultsActivity" />
</activity>
<activity
android:name="com.cs442.project.team13.SearchBookResultsActivity"
android:label="SearchResult"
android:theme="@style/Theme.MyCompatTheme">
<!-- to identify this activity as "searchable" -->
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data
android:name="android.app.default_searchable"
android:value="com.example.ExampleActivity" />
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
<activity android:name="com.cs442.project.team13.WishListResult"
android:label="Wishlist"/>
<activity android:name="com.cs442.project.team13.Details"
android:label="Details"/>
<activity
android:name="com.cs442.project.team13.LoginActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.cs442.project.team13.UpdateProfile" />
<activity android:name="com.cs442.project.team13.RegisterActivity" />
<activity
android:name="com.cs442.project.team13.BookCategoryActivity"
android:label="@string/title_activity_book_category" >
</activity>
<activity
android:name="com.cs442.project.team13.PostBookActivity"
android:label="@string/title_activity_post_book" >
</activity>
<activity
android:name="com.cs442.project.team13.DisplayBookInfoActivity"
android:label="@string/title_activity_display_book_info" >
</activity>
<activity
android:name="com.cs442.project.team13.DisplayProviderInfoActivity"
android:label="@string/title_activity_display_provider_info" >
</activity>
<activity
android:name="com.cs442.project.team13.DisplayUserBookListActivity"
android:label="@string/title_activity_display_user_book_list" >
</activity>
<activity
android:name="com.cs442.project.team13.UpdateBookInfoActivity"
android:label="@string/title_activity_update_book_info" >
</activity>
<activity
android:name="com.cs442.project.team13.CategorySearch"
android:label="@string/title_activity_category_search" >
</activity>
<service android:name="com.parse.PushService" />
<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.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.cs442.project.team13" />
</intent-filter>
</receiver>
<meta-data android:name="com.parse.push.notification_icon" android:resource="@drawable/book126"/>
</application>
我怎樣才能解決這個問題呢?
你有沒有設置到一切,如:接收機和服務清單?安裝應該顯示gcm,這不是問題。 – V01D1
嗨,謝謝你的回覆,是的,我在我的清單中設置了接收器和服務,但問題是安裝了設備令牌的一些設備可以接收通知,但由於缺少設備令牌而無法接收,我不知道爲什麼。 – Chen
你能編輯你的文章幷包含Manifest文件嗎? – V01D1