如何在单击窗口小部件中的按钮时显示祝酒并打开蓝牙?

时间:2015-11-05 12:33:56

标签: android bluetooth toast android-pendingintent

这是我的代码:

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),我想要的是当我点击此按钮时,设备的蓝牙将打开,应用程序将显示祝酒词。我一开始就致力于吐司部分的测试,但无法做到。这该怎么做?正如你所看到我正在使用待定意图,我不可能做我想要的事情吗?或者还有其他方法吗?最初搜索网络但没有得到确切的解决方案,所以请求您的建议。

enter image description here

2 个答案:

答案 0 :(得分:1)

查看此存储库:FlashLightWidget

您将找到如何获取按钮onClick事件。 在此示例中,使用了BroadcastReceiver

答案 1 :(得分:0)

Widget是简单的控制单元。它无法完成整个流程。

我的建议是你提出一个未决的意图来触发服务/活动。

你也可以从那里出示Toast。

相关问题