Ich arbeite in einem Anwendungsbeispiel, das Push-Benachrichtigungen erhält.So öffnen Sie eine Aktivität mit einer Push-Benachrichtigung
Alles funktioniert gut, ich führe ein Python-Skript und ich bekomme die Push-Benachrichtigung.
Das Problem erscheint, wenn ich in die Benachrichtigung drücken. Ich kann machen, dass die Benachrichtigung die App öffnen ...
Project's Struktur ist:
MainActivity.java
package com.example.sergi.pruebapush;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent i = new Intent(this, RegistrationService.class);
startService(i);
}
}
NotificationsListenerService.java
import com.google.android.gms.gcm.GcmListenerService;
public class NotificationsListenerService extends GcmListenerService {
}
RegistrierungService.java
package com.example.sergi.pruebapush;
import android.app.IntentService; import android.content.Intent;
import android.util.Log;
import com.google.android.gms.gcm.GcmPubSub;
import com.google.android.gms.gcm.GoogleCloudMessaging;
import com.google.android.gms.iid.InstanceID;
import java.io.IOException;
public class RegistrationService extends IntentService {
public RegistrationService() {
super("RegistrationService");
}
@Override
protected void onHandleIntent(Intent intent) {
InstanceID myID = InstanceID.getInstance(this);
String registrationToken="";
try {
registrationToken = myID.getToken(
getString(R.string.gcm_defaultSenderId),
GoogleCloudMessaging.INSTANCE_ID_SCOPE,
null
);
Log.d("Registration Token", registrationToken);
GcmPubSub subscription = GcmPubSub.getInstance(this);
subscription.subscribe(registrationToken, "/topics/my_little_topic", null);
} catch (IOException e) {
e.printStackTrace();
}
} }
TokenRefreshListenerService.java
package com.example.sergi.pruebapush;
import android.content.Intent;
import com.google.android.gms.iid.InstanceIDListenerService;
public class TokenRefreshListenerService extends InstanceIDListenerService
{
@Override
public void onTokenRefresh() {
Intent i = new Intent(this, RegistrationService.class);
startService(i);
}
}
send.py
from urllib2 import *
import urllib
import json
import sys
MY_API_KEY="************************************************"
messageTitle = sys.argv[1]
messageBody = sys.argv[2]
data={
"to" : "/topics/my_little_topic",
"notification" : {
"body" : messageBody,
"title" : messageTitle,
"icon" : "ic_launcher"
}
}
dataAsJSON = json.dumps(data)
request = Request(
"https://gcm-http.googleapis.com/gcm/send",
dataAsJSON,
{ "Authorization" : "key="+MY_API_KEY,
"Content-type" : "application/json"
}
)
print urlopen(request).read()
Was kann ich zu meinem Beispiel fügen Sie die App öffnen Sie die Benachrichtigung drücken?
prüfen diese http://www.androidhive.info/2016/02/android-push-notifications-using-gcm-php-mysql-realtime-chat-app-part-2/ – Stallion
ich werde es überprüfen , Vielen Dank! aber ich habe noch ein Beispiel, um diesen Code zu vervollständigen :) –