Tôi đang viết một soundboard android cho phép người dùng tạo nhiều tiện ích trên máy tính để bàn, một cho mỗi âm thanh. Tôi đang sử dụng một hoạt động cho người dùng để chọn âm thanh mà anh ấy muốn tạo tiện ích. Đối với mỗi tiện ích được tạo, tôi lưu trữ tùy chọn được chia sẻ ở dạng key => "WIDGET_FILENAME_"+widgetId, value=> fileName
Để phát âm thanh, tôi đã ghi đè phương thức onRecieve
trên lớp widgetProvider. Khi tiện ích máy tính để bàn được nhấp, nó gây nên một phát sóng để phương pháp này, mà được id phụ tùng từ mục đích và sau đó tải các sở thích chia sẻ liên quan đến phụ tùng:
Android - Nhiều appWidgets phát các âm thanh khác nhau
int appWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
Vấn đề là: Các widgetId là luôn luôn giống nhau, không có tiện ích nào được nhấp chuột, gây ra cùng âm thanh được phát.
Bất kỳ ý tưởng hoặc hướng dẫn nào về điều này?
Tuyệt vời! thực sự đã giúp tôi tìm ra cùng một vấn đề mà tôi có. Điều thú vị là những gì tạo nên sự khác biệt là sử dụng appWidgetId làm requestCode trong khi trong tài liệu nói rằng điều này không bao giờ được sử dụng ... – Muzikant
@Rabi, bạn có mã hoàn chỉnh hơn mà bạn có thể chia sẻ không? Tôi đã cố gắng để thực hiện điều này vào mã của tôi và nó chỉ không hoạt động. http://stackoverflow.com/questions/10607518/android-appwidget-multiple-instances – MrGibbage