9

Có một vấn đề nhỏ đang làm tôi khó chịu ..Mở ứng dụng android từ thông báo PUSH

Tôi đã thiết lập ứng dụng của mình để nhận thông báo PUSH từ Urban Airship và tất cả hoạt động tốt, nhưng khi tôi nhấn vào thông báo trong trung tâm thông báo, không có gì xảy ra.

Tôi muốn ứng dụng của mình mở khi người dùng nhấn vào thông báo PUSH - tôi có thể làm gì để đạt được điều này?

Mọi trợ giúp luôn được đánh giá cao.

Cảm ơn

+0

Quy trình đăng ký của bạn có đang hoạt động trong nền không? – param

Trả lời

9

Tạo Ý định chờ để bắt đầu hoạt động và thiết lập nó trong thông báo sử dụng setLatestEventInfo.

Ví dụ:

thông tin
Context context = getApplicationContext(); 
CharSequence contentTitle = "My notification"; 
CharSequence contentText = "Hello World!"; 
Intent notificationIntent = new Intent(this, MyClass.class); 
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); 
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); 

có thể tìm thêm here

+0

Mã này ở đâu? Tôi có cùng một câu hỏi như poster ban đầu nhưng tôi không tìm được nơi hợp lý cho việc này. Nếu nó quan trọng, tôi đang sử dụng Pushwoosh để gửi thông báo của tôi. – Magua

+0

Mã này để tạo thông báo. Bạn có bất kỳ lớp người nhận ...? Đặt nó trong onreceive. – San

1

Tiếp theo một trong những dự án mẫu của họ (https://github.com/urbanairship/android-samples/tree/master/app/src/main/java/com/urbanairship/sample), bạn có thể mở rộng các lớp AirshipReceiver và sau đó ghi đè lên các phương pháp onReceive. Điều này đã làm cho lừa cho tôi:

@Override 
public void onReceive(Context context, Intent intent) { 
    super.onReceive(context, intent); 

    String action = intent.getAction(); 
    if (action.equals(PushManager.ACTION_NOTIFICATION_OPENED)) { 
     Intent launch = new Intent(Intent.ACTION_MAIN); 
     launch.setClass(UAirship.shared().getApplicationContext(), MyHome.class); 
     launch.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     launch.putExtra("doWhatever",true); 
     UAirship.shared().getApplicationContext().startActivity(launch); 
    } 

} 
Các vấn đề liên quan