Tôi có một widget, thiết lập của nó để khi tôi nhấp vào nó, nó sẽ mở ra một số cài đặt trong một hoạt động.Cập nhật Widget Android Từ Hoạt động
views.setOnClickPendingIntent(R.id.btnActivate, pendingIntent);
Điều này định cấu hình một số cài đặt cho ứng dụng. Những gì tôi muốn đạt được là phải cập nhật tiện ích con của chế độ xem để phản ánh các cài đặt đã thay đổi khi Hoạt động tôi khởi chạy đóng. Sử dụng khoảng thời gian cập nhật hoặc bất kỳ loại bỏ phiếu nào khác không thích hợp cho việc này.
Tôi đã nhìn thấy một vài nơi đây và trong các tài liệu android mã này được sử dụng:
appWidgetManager.updateAppWidget(mAppWidgetId, views);
Nhưng tôi không biết làm thế nào để có được những giá trị mAppWidgetId. Tôi cố gắng làm theo tấm gương cho một hoạt động cấu hình phụ tùng đây http://developer.android.com/guide/topics/appwidgets/index.html, nhưng trong đoạn mã sau,
Intent intent = getIntent();
Bundle extras = intent.getExtras();
if (extras != null) {
mAppWidgetId = extras.getInt(
AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
}
extras luôn là null, vì vậy tôi không bao giờ có được AppWidgetID.
Ok, bây giờ tôi chỉ đang rambling. Bạn nghĩ tôi có thể làm gì?
Cảm ơn bạn đã chia sẻ câu trả lời !!! Chúng ta phải đặt mã này ở đâu, bên trong hoạt động cài đặt tiện ích hoặc bên trong lớp tiện ích ??? – BamsBamx
Nevermind, tôi đặt điều này bên trong phương thức updateWidget, thay đổi một số "này" theo "bối cảnh" và loại bỏ 'AppWidgetManager appWidgetManager = AppWidgetManager.getInstance (this)' Bây giờ nó đang làm việc ... cảm ơn! – BamsBamx
Nếu bạn có nhiều cấu hình cho các tiện ích, bạn có thể muốn thử appWidgetManager.getAppWidgetIds (thành phần) và sau đó lặp lại chúng. – rwilson04