我已經啓動了解析到我的應用程序,然後我從他們的網站推了一個通知,並且出於某種原因,我沒有得到它。 雖然它在網站上顯示的狀態是「不」,但我不明白。 然後我看着logcat上,也許在我的代碼中的東西不好。 然後它顯示我需要確保我在The Manifest上有一些權限......然後我仔細查看了它,但仍然沒有發現什麼是\ missing \ missing。 如何更改/再次檢查以獲取推送通知?Android解析不會推送通知
MainActivity
package nir.rauc.mapstutori;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.GoogleMap.OnMarkerClickListener;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
import com.parse.Parse;
import com.parse.ParseAnalytics;
import com.parse.ParseObject;
import com.parse.PushService;
public class MainActivity extends Activity {
GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Parse
Parse.initialize(this, "DontRightitonstackoverflow",
"DontRightitonstackoverflow");
ParseObject testObject = new ParseObject("TestObject");
testObject.put("Hello", "What's up my nigga");
testObject.saveInBackground();
PushService.setDefaultPushCallback(this, Pictures.class);
ParseAnalytics.trackAppOpened(getIntent());
// Google Maps things
GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(
R.id.map)).getMap();
LatLng rent = new LatLng(31.732703, 35.182333);
map.setMyLocationEnabled(true);
map.moveCamera(CameraUpdateFactory.newLatLngZoom(rent, 13));
map.addMarker(new MarkerOptions().title("for Rent").draggable(true)
.snippet("Click for more info.").position(rent));
map.setOnMarkerClickListener(new OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
Intent intent = new Intent(MainActivity.this, Details.class);
startActivity(intent);
return true;
}
});
;
}
}
我的清單:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="nir.rauc.mapstutori"
android:versionCode="1"
android:versionName="1.0" >
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="18" />
<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="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<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.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:name="nir.rauc.mapstutoris.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="nir.rauc.mapstutori.permission.C2D_MESSAGE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:theme="@style/AppTheme" >
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<activity
android:name="nir.rauc.mapstutori.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyBpdh2ViLlc-UvlGBNaiFBZTZNOWpJBDyc" />
<activity
android:name="nir.rauc.mapstutori.Details"
android:label="@string/title_activity_details" >
</activity>
<activity
android:name="nir.rauc.mapstutori.Pictures"
android:label="something" >
</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.google.android.gcm.GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<!-- Receives the actual messages. -->
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<!-- Receives the registration id. -->
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="nir.rauc.mapstutori" />
</intent-filter>
</receiver>
</application>
</manifest>
我的錯誤的logcat:
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): Cannot use GCM for push because the app manifest is missing some required declarations. Please make sure that these permissions are declared as children of the root <manifest> element:
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): <uses-permission android:name="android.permission.INTERNET" />
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): <uses-permission android:name="android.permission.VIBRATE" />
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): <uses-permission android:name="android.permission.WAKE_LOCK" />
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): <uses-permission android:name="android.permission.GET_ACCOUNTS" />
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): <permission android:name="nir.rauc.mapstutori.permission.C2D_MESSAGE" android:protectionLevel="signature" />
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): <uses-permission android:name="nir.rauc.mapstutori.permission.C2D_MESSAGE" />
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): Also, please make sure that these services and broadcast receivers are declared as children of the <application> element:
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): <service android:name="com.parse.PushService" />
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): <receiver android:name="com.parse.GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): <intent-filter>
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): <action android:name="com.google.android.c2dm.intent.RECEIVE" />
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): <category android:name="nir.rauc.mapstutori" />
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): </intent-filter>
04-13 00:08:38.129: E/com.parse.ManifestInfo(2802): </receiver>
04-13 00:08:38.129: E/com.parse.PushService(2802): Tried to use push, but this app is not configured for push due to: Push is not configured for this app because the app manifest is missing required declarations. Please add the following declarations to your app manifest to support either GCM or PPNS for push (or both). To enable GCM support, please make sure that these permissions are declared as children of the root <manifest> element:
04-13 00:08:38.129: E/com.parse.PushService(2802): <uses-permission android:name="android.permission.INTERNET" />
04-13 00:08:38.129: E/com.parse.PushService(2802): <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
04-13 00:08:38.129: E/com.parse.PushService(2802): <uses-permission android:name="android.permission.VIBRATE" />
04-13 00:08:38.129: E/com.parse.PushService(2802): <uses-permission android:name="android.permission.WAKE_LOCK" />
04-13 00:08:38.129: E/com.parse.PushService(2802): <uses-permission android:name="android.permission.GET_ACCOUNTS" />
04-13 00:08:38.129: E/com.parse.PushService(2802): <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
04-13 00:08:38.129: E/com.parse.PushService(2802): <permission android:name="nir.rauc.mapstutori.permission.C2D_MESSAGE" android:protectionLevel="signature" />
04-13 00:08:38.129: E/com.parse.PushService(2802): <uses-permission android:name="nir.rauc.mapstutori.permission.C2D_MESSAGE" />
04-13 00:08:38.129: E/com.parse.PushService(2802): Also, please make sure that these services and broadcast receivers are declared as children of the <application> element:
04-13 00:08:38.129: E/com.parse.PushService(2802): <service android:name="com.parse.PushService" />
04-13 00:08:38.129: E/com.parse.PushService(2802): <receiver android:name="com.parse.GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
04-13 00:08:38.129: E/com.parse.PushService(2802): <intent-filter>
04-13 00:08:38.129: E/com.parse.PushService(2802): <action android:name="com.google.android.c2dm.intent.RECEIVE" />
04-13 00:08:38.129: E/com.parse.PushService(2802): <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
04-13 00:08:38.129: E/com.parse.PushService(2802): <category android:name="nir.rauc.mapstutori" />
04-13 00:08:38.129: E/com.parse.PushService(2802): </intent-filter>
04-13 00:08:38.129: E/com.parse.PushService(2802): </receiver>
04-13 00:08:38.129: E/com.parse.PushService(2802): To enable PPNS support, please make sure that these permissions are declared as children of the root <manifest> element:
04-13 00:08:38.129: E/com.parse.PushService(2802): <uses-permission android:name="android.permission.INTERNET" />
04-13 00:08:38.129: E/com.parse.PushService(2802): <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
04-13 00:08:38.129: E/com.parse.PushService(2802): <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
04-13 00:08:38.129: E/com.parse.PushService(2802): <uses-permission android:name="android.permission.VIBRATE" />
04-13 00:08:38.129: E/com.parse.PushService(2802): <uses-permission android:name="android.permission.WAKE_LOCK" />
04-13 00:08:38.129: E/com.parse.PushService(2802): Also, please make sure that these services and broadcast receivers are declared as children of the <application> element:
04-13 00:08:38.129: E/com.parse.PushService(2802): <service android:name="com.parse.PushService" />
04-13 00:08:38.129: E/com.parse.PushService(2802): <receiver android:name="com.parse.ParseBroadcastReceiver">
04-13 00:08:38.129: E/com.parse.PushService(2802): <intent-filter>
04-13 00:08:38.129: E/com.parse.PushService(2802): <action android:name="android.intent.action.BOOT_COMPLETED" />
04-13 00:08:38.129: E/com.parse.PushService(2802): <action android:name="android.intent.action.USER_PRESENT" />
04-13 00:08:38.129: E/com.parse.PushService(2802): </intent-filter>
04-13 00:08:38.129: E/com.parse.PushService(2802): </receiver>
04-13 00:08:38.509: E/SELinux(2907): selinux_android_seapp_context_reload: seapp_contexts file is loaded from /data/security/spota/seapp_contexts
04-13 00:08:38.604: E/EnterpriseContainerManager(2964): ContainerPolicy Service is not yet ready!!!
04-13 00:08:38.699: E/SELinux(2922): selinux_android_seapp_context_reload: seapp_contexts file is loaded from /data/security/spota/seapp_contexts
04-13 00:08:38.859: E/SELinux(2935): selinux_android_seapp_context_reload: seapp_contexts file is loaded from /data/security/spota/seapp_contexts
04-13 00:08:39.109: E/SELinux(2980): selinux_android_seapp_context_reload: seapp_contexts file is loaded from /data/security/spota/seapp_contexts
04-13 00:08:40.054: E/APKPackageMonitor(7355): Some unrelated APK installed
04-13 00:08:40.554: E/app2sd(2223): GET ROOT = false
04-13 00:08:40.569: E/app2sd(2223): GET ROOT = false
04-13 00:08:50.254: E/WifiWatchdogStateMachine.QualitySocketHandler(2964): No http request!
04-13 00:08:58.849: E/Watchdog(2964): [email protected] 264
04-13 00:09:28.849: E/Watchdog(2964): [email protected] 265
04-13 00:09:58.854: E/Watchdog(2964): [email protected] 266
04-13 00:10:28.849: E/Watchdog(2964): [email protected] 267
04-13 00:10:46.289: E/AudioResampler(2499): Unsupported sample format, 1 bits, 2 channels
04-13 00:10:58.854: E/Watchdog(2964): [email protected] 268
04-13 00:11:28.854: E/Watchdog(2964): [email protected] 269
犯規此'機器人:名字=「com.parse.tutorials。 pushnotifications.permission.C2D_MESSAGE「'必須使用你的」nir.rauc.mapstutori「包? – Stan
我在他們的網站上看到這樣保留它。現在檢查它。 –
嘗試改變自己的包反正 – Stan