örneğin bu gibi AppWidgetProvider içinde ACTION_TEXT_CHANGED örneğin, özel bir niyet kayıt olduğu
<receiver android:name=".DrinkWaterAppWidgetProvider">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="yourpackage.TEXT_CHANGED" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/appwidget_info" />
</receiver>
Sonra AppWidgetProvider içinde OnReceive yöntemi genişletmek ve böyle amacınızı ele emin olun zorunda: Bu gibi alıcı etiketinin niyet filtre bölümünde bu niyetler
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
if (intent.getAction().equals(ACTION_TEXT_CHANGED)) {
// handle intent here
String s = intent.getStringExtra("NewString");
}
}
Sonuçta yukarıdaki metin böyle değişti sonra, sadece aktivitesinde niyet yayın gerekir kurulur: "-dizge" adıyla size değiştirilmesi gerektiğini
Intent intent = new Intent(YourAppWidgetProvider.ACTION_TEXT_CHANGED);
intent.putExtra("NewString", textView.getText().toString());
getApplicationContext().sendBroadcast(intent);
dizeyi vermek için.
Umarım yardımcı olur.
Adım "Bir PendingIntent gönderir." Cevap verdiğiniz şey bu adım. –
Oops tamam ... Ardından, widget'ınızın dinleyebileceği etkinliğinizden başka bir niyet yayınlamanız gerekir. Widget tarafından kendini yenilemek için kullanılabilecek niyetle verileri alın. –