2010-09-16 35 views
50

Tôi đã tạo một tiện ích con khi được nhấp kích hoạt một PendingIntent. Vấn đề là khi tôi có nhiều hơn một widget trên màn hình chỉ có một cái mới nhất sẽ khởi động PendingIntent.Nhiều trường hợp của mục đích đang chờ xử lý

Tôi đã đọc một số mã yêu cầu duy nhất nhưng không tìm ra điều này.

Bất kỳ ý tưởng nào về cách tôi có thể có nhiều tiện ích và PendingIntents hoạt động cho từng tiện ích?

Dưới đây là một đoạn mã của tôi:

Intent openApp = new Intent(context, RunningTally.class); 
    openApp.putExtra("widgetId", appWidgetId); 
    PendingIntent pendingAppIntent = 
     PendingIntent.getActivity(context, 0, openApp, PendingIntent.FLAG_CANCEL_CURRENT ); 
    views.setOnClickPendingIntent(R.id.openFull, pendingAppIntent); 

Trả lời

109

Vì vậy sẽ xảy ra rằng sau khi đăng câu hỏi của tôi, tôi đã đưa ra một câu trả lời. Tôi chuyển vào appWidgetId của tôi là mã yêu cầu "duy nhất" và thì đấy! Dưới đây là đoạn hiện nay:

Intent openApp = new Intent(context, RunningTally.class); 
    openApp.putExtra("widgetId", appWidgetId); 
    PendingIntent pendingAppIntent = 
     PendingIntent.getActivity(context, appWidgetId, openApp, 
            PendingIntent.FLAG_CANCEL_CURRENT); 
    views.setOnClickPendingIntent(R.id.openFull, pendingAppIntent); 
+7

Shame tài liệu không đề cập đến việc sử dụng chính thức của requestcode ... – barkside

+22

Điều tồi tệ nhất được rằng các tài liệu nói: requestCode \t cá nhân yêu cầu mã cho người gửi (hiện không sử dụng) . Vì vậy, tôi đã nhìn thấy nó, nhưng tôi đã không cố gắng sử dụng nó bởi vì tôi nghĩ rằng nó sẽ không hoạt động! – thiagolr

+0

Làm việc hoàn hảo cho tôi. Cám ơn. – cstick

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