मैं वर्तमान में एंड्रॉइड प्रोजेक्ट पर काम कर रहा हूं।सेवा से चलने वाली गतिविधि में कॉल विधि
अब तक, मैं लागू कर दिया है Firebase, विशेष रूप से FirebaseInstanceIdService और FirebaseMessagingService:
:
public class FirebaseIDService extends FirebaseInstanceIdService {
private static final String TAG = "FirebaseIDService";
private Context context;
@Override
public void onTokenRefresh() {
context = getApplicationContext();
// Get updated InstanceID token.
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
Log.e(TAG, "Refreshed token: " + refreshedToken);
SharedPreferences sharedPreferences = context.getSharedPreferences("token", context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("token", refreshedToken);
editor.commit();
sendRegistrationToServer(refreshedToken);
}
/**
* Persist token to backend.
* @param token The new token.
*/
private void sendRegistrationToServer(String token) {
SendRegistrationKey task = new SendRegistrationKey(context);
task.execute(token);
}
}
public class MessagingService extends FirebaseMessagingService {
private static final String TAG = "MsgService";
/**
* Called when message is received.
*
* @param remoteMessage Object representing the message received from Firebase Cloud Messaging.
*/
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.e(TAG, "From: " + remoteMessage.getFrom());
// Check if message contains a data payload.
if (remoteMessage.getData().size() > 0) {
Log.e(TAG, "Message data payload: " + remoteMessage.getData());
}
// Check if message contains a notification payload.
if (remoteMessage.getNotification() != null) {
Log.e(TAG, "Message Notification Body: " + remoteMessage.getNotification().getBody());
sendNotification(remoteMessage);
}
// Also if you intend on generating your own notifications as a result of a received FCM
// message, here is where that should be initiated. See sendNotification method below.
}
// [END receive_message]
private void sendNotification(RemoteMessage remoteMessage) {
RemoteMessage.Notification notification = remoteMessage.getNotification();
PushNotificationManager PNManager = PushNotificationManager.getInstance(getApplicationContext());
PNManager.buildNotification(notification.getTitle(), notification.getBody());
}
क्या मैं हासिल करना चाहते हैं निम्नलिखित है जब ऐप पृष्ठभूमि में होता है, तो मैं अधिसूचना केंद्र में बस एक साधारण अधिसूचना चाहता हूं। (यह पहले से ही काम कर रहा है)
लेकिन, जब एप्लिकेशन को अग्रभूमि में और वर्तमान में चल रहा है, मैं एक अलग व्यवहार करना चाहते हैं: मैं पुश अधिसूचना उपभोग करते हैं और बदले में एक चेतावनी दिखाना चाहते हैं।
लेकिन मेरा सवाल यह है कि: मैं सेवा से चल रही गतिविधि के साथ कैसे बातचीत कर सकता हूं या इच्छित व्यवहार को प्राप्त करने का सही तरीका क्या है? थर एक साधारण आत्मा होना चाहिए, है ना?
अग्रिम धन्यवाद इस के साथ
सेवा से sendBroadcast, से और गतिविधि में
2. संदेश प्रसारण अपनी गतिविधि में कस्टम प्रसारण रिसीवर रजिस्टर क्षुधा चलाने के लिए mothod जांच से ऊपर प्रसारण – X3Btel