Tôi muốn gửi một chương trình phát sóng theo thứ tự trong một PendingIntent. Nhưng tôi chỉ tìm thấy PendingIntent.getBroadcast(this, 0, intent, 0)
, mà tôi nghĩ rằng chỉ có thể gửi một phát sóng thường xuyên. Vậy tôi có thể làm gì?Làm thế nào để gửi một chương trình phát sóng theo thứ tự trong một PendingIntent?
Trả lời
Tôi nhận này từ http://justanapplication.wordpress.com/tag/pendingintent-getbroadcast:
Nếu đối số onFinished không phải là null thì một phát sóng lệnh được thực hiện.
Vì vậy, bạn có thể muốn thử gọi số PendingIntent.send với bộ đối số onFinished.
Tuy nhiên, tôi đã gặp sự cố rằng tôi phải gửi một OrderedBroadcast từ Thông báo. Tôi đã làm cho nó hoạt động bằng cách tạo ra một BroadcastReceiver mà chỉ chuyển tiếp Intent như một OrderedBroadcast. Tôi thực sự không biết đây có phải là một giải pháp tốt hay không.
Vì vậy, tôi bắt đầu ra bằng cách tạo ra một Intent mà giữ tên của hành động để chuyển tiếp đến như là một bổ sung:
// the name of the action of our OrderedBroadcast forwarder
Intent intent = new Intent("com.youapp.FORWARD_AS_ORDERED_BROADCAST");
// the name of the action to send the OrderedBroadcast to
intent.putExtra(OrderedBroadcastForwarder.ACTION_NAME, "com.youapp.SOME_ACTION");
intent.putExtra("some_extra", "123");
// etc.
Trong trường hợp của tôi, tôi đã thông qua PendingIntent đến một thông báo:
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
Notification notification = new NotificationCompat.Builder(context)
.setContentTitle("Notification title")
.setContentText("Notification content")
.setSmallIcon(R.drawable.notification_icon)
.setContentIntent(pendingIntent)
.build();
NotificationManager notificationManager = (NotificationManager)context
.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify((int)System.nanoTime(), notification);
Sau đó, tôi đã xác định những người nhận sau trong Tệp kê khai của mình:
<receiver
android:name="com.youapp.OrderedBroadcastForwarder"
android:exported="false">
<intent-filter>
<action android:name="com.youapp.FORWARD_AS_ORDERED_BROADCAST" />
</intent-filter>
</receiver>
<receiver
android:name="com.youapp.PushNotificationClickReceiver"
android:exported="false">
<intent-filter android:priority="1">
<action android:name="com.youapp.SOME_ACTION" />
</intent-filter>
</receiver>
Sau đó, OrderedBro adcastForwarder trông như sau:
public class OrderedBroadcastForwarder extends BroadcastReceiver
{
public static final String ACTION_NAME = "action";
@Override
public void onReceive(Context context, Intent intent)
{
Intent forwardIntent = new Intent(intent.getStringExtra(ACTION_NAME));
forwardIntent.putExtras(intent);
forwardIntent.removeExtra(ACTION_NAME);
context.sendOrderedBroadcast(forwardIntent, null);
}
}
- 1. Gửi chương trình phát sóng qua email
- 2. Làm thế nào để thêm những thứ vào một chương trình menustrip theo chương trình?
- 3. Người phát sóng có thể nhận nhiều chương trình phát sóng không?
- 4. Làm cách nào để gửi UILongPressGesture theo chương trình?
- 5. Làm thế nào để phát hiện luân phiên cho một UIView tạo theo chương trình
- 6. Làm thế nào để sắp xếp một vector ký tự theo một thứ tự cụ thể?
- 7. Gửi lệnh đến vim theo chương trình
- 8. Làm thế nào để gọi một hành động trong khi trình chiếu powerpoint theo trình tự?
- 9. Làm thế nào để theo dõi một chương trình gỡ lỗi trong OCaml?
- 10. Không thể nhận chương trình phát sóng trong ICS
- 11. Làm thế nào để in một mảng theo thứ tự xác định trong AWK 3.1.3
- 12. làm thế nào để đọc một tập tin csv theo thứ tự ngược trong python
- 13. Làm thế nào để vá một chương trình Java?
- 14. gửi chương trình phát sóng từ Dịch vụ tới Hoạt động?
- 15. Chọn một hàng trong một NSTableView Theo chương trình
- 16. Làm thế nào để bạn di chuyển theo chương trình của một TextArea Flex đến cùng?
- 17. Điều gì kích hoạt chương trình phát sóng BluetoothDevice.ACTION_ACL?
- 18. Làm thế nào để tạo video theo chương trình?
- 19. Làm thế nào để loại bỏ một số liên lạc theo chương trình trong android
- 20. Làm thế nào để sử dụng hàm XPath trong một cá thể XPathExpression theo chương trình?
- 21. Làm thế nào để đăng xuất một người dùng theo chương trình trong Drupal 7?
- 22. Gửi một phát sóng duy nhất Hoạt động cụ thể
- 23. Làm thế nào để lặp qua một từ điển Python theo thứ tự được xác định?
- 24. Gặp sự cố khi gửi Gói với PendingIntent tới Bộ thu phát sóng, dữ liệu bị mất
- 25. Tạo chương trình được phát sóng bởi avahi
- 26. Hủy bỏ một AlarmManager pendingIntent trong một pendingintent
- 27. Làm thế nào để đặt tên của một SPListItem mới theo chương trình?
- 28. MEDIA_MOUNTED chương trình phát sóng không được nhận
- 29. Làm thế nào để truy cập vào bộ nhớ từ một chương trình trong một
- 30. RadioGroup: Làm thế nào để kiểm tra theo chương trình