如何在单击小部件中的按钮时显示吐司并打开蓝牙?
How to show a toast and turn on bluetooth on clicking a button in a widget?
这是我的代码:
public class SimpleWidgetProvider extends AppWidgetProvider {
BluetoothAdapter mBluetoothAdapter;
String number="";
PendingIntent pendingIntent;
Button b;
//private static final String MyOnClick = "myOnClickTag";
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
//final int count = appWidgetIds.length;
final int N = appWidgetIds.length;
for (int i=0; i<N; i++) {
int appWidgetId = appWidgetIds[i];
Intent intent = new Intent(context, SimpleWidgetProvider.class);
intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.simple_widget);
views.setOnClickPendingIntent(R.id.actionButton, pendingIntent);
//views.setOnClickPendingIntent(R.id.button1, getPendingSelfIntent(context, MyOnClick));
appWidgetManager.updateAppWidget(appWidgetId, views);
//Toast.makeText(context, "Button Clicked", Toast.LENGTH_SHORT).show();
}
在我的小部件中有一个按钮(布局中的 id:actionButton),我想要的是当我单击此按钮时,设备的蓝牙将打开并且应用程序将显示祝酒词。起初我正在做 toast 部分进行测试,但无法做到。这该怎么做?如您所见,我正在使用待处理的意图,是否不可能做我想做的事?还是有其他方法?起初在网上搜索但没有得到确切的解决方案,因此请求您的建议。
小部件是简单的控制单元。它将无法完成完整的流程。
我的建议是您放置一个未决意图来触发服务/activity 它将执行此操作。
您也可以从那里显示 Toast。
查看此存储库:FlashLightWidget
您将了解如何获取按钮 onClick
事件。
在此示例中,使用 BroadcastReceiver
。
这是我的代码:
public class SimpleWidgetProvider extends AppWidgetProvider {
BluetoothAdapter mBluetoothAdapter;
String number="";
PendingIntent pendingIntent;
Button b;
//private static final String MyOnClick = "myOnClickTag";
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
//final int count = appWidgetIds.length;
final int N = appWidgetIds.length;
for (int i=0; i<N; i++) {
int appWidgetId = appWidgetIds[i];
Intent intent = new Intent(context, SimpleWidgetProvider.class);
intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.simple_widget);
views.setOnClickPendingIntent(R.id.actionButton, pendingIntent);
//views.setOnClickPendingIntent(R.id.button1, getPendingSelfIntent(context, MyOnClick));
appWidgetManager.updateAppWidget(appWidgetId, views);
//Toast.makeText(context, "Button Clicked", Toast.LENGTH_SHORT).show();
}
在我的小部件中有一个按钮(布局中的 id:actionButton),我想要的是当我单击此按钮时,设备的蓝牙将打开并且应用程序将显示祝酒词。起初我正在做 toast 部分进行测试,但无法做到。这该怎么做?如您所见,我正在使用待处理的意图,是否不可能做我想做的事?还是有其他方法?起初在网上搜索但没有得到确切的解决方案,因此请求您的建议。
小部件是简单的控制单元。它将无法完成完整的流程。
我的建议是您放置一个未决意图来触发服务/activity 它将执行此操作。
您也可以从那里显示 Toast。
查看此存储库:FlashLightWidget
您将了解如何获取按钮 onClick
事件。
在此示例中,使用 BroadcastReceiver
。