Android Homescreen Widget,使用按钮调用void函数

时间:2017-02-15 19:18:38

标签: android

我在这件事上停留了2天,在我的小部件活动中,我有这个空虚,我想在小部件中按下按钮时调用。

我想称之为:

 public void sendSMS() {

    smsManager.sendTextMessage("0123456789", null, SMSTEXT, null, null);

}

按钮的xml布局

<Button
    android:text="Button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/send_button"
    android:layout_marginStart="54dp"
    android:layout_centerVertical="true"
    android:layout_alignStart="@+id/appwidget_text"

    />

1 个答案:

答案 0 :(得分:1)

发现它!

这需要在onUpdate方法

    Intent intent = new Intent(context, ParkingWidget.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);

    RemoteViews newviews = new RemoteViews(context.getPackageName(), R.layout.parking_widget);
    newviews.setOnClickPendingIntent(R.id.send_button, pendingIntent);
    appWidgetManager.updateAppWidget(appWidgetIds[0], newviews);

你需要像这样覆盖onRecive

@Override
  public void onReceive(Context context, Intent intent) {
    super.onReceive(context, intent);
    sendSMS();  // code goes here

}