【问题标题】:How to show a toast and turn on bluetooth on clicking a button in a widget?如何在单击小部件中的按钮时显示吐司并打开蓝牙?
【发布时间】:2015-11-06 02:40:24
【问题描述】:

这是我的代码:

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。起初我正在研究吐司部分以进行测试,但无法做到。这个怎么做?如您所见,我正在使用待处理的意图,是否不可能做我想做的事?还是有其他方法?起初在网上搜索,但没有得到确切的解决方案,所以请求您的建议。

【问题讨论】:

  • 谢谢,但这不是我想要的。我知道如何打开蓝牙添加侦听器,但我想在这里制作一个控制小部件;我无法将侦听器添加到小部件@activesince93 内的按钮
  • 您应该访问此存储库。这是 FlashLightWidget 的一个示例。您将找到如何获取按钮onClick 事件。在此示例中,使用了 BroadcastReceiver。存储库:github.com/ChiragSavsani/FlashLightWidget
  • @activesince93 大代码但很有用。正在努力。谢谢!
  • @activesince93 完美运行!你应该评论这个作为答案:)

标签: android bluetooth toast android-pendingintent


【解决方案1】:

查看此存储库:FlashLightWidget

您将了解如何获取按钮onClick 事件。 在本例中使用了BroadcastReceiver

【讨论】:

    【解决方案2】:

    小部件是简单的控制单元。它将无法完成完整的流程。

    我的建议是你提出一个未决意图来触发将执行此操作的服务/活动。

    您也可以从那里显示 Toast。

    【讨论】:

    • 你能提供一些关于这个的代码或链接吗?
    猜你喜欢
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-22
    • 2015-10-23
    • 1970-01-01
    相关资源
    最近更新 更多