2015-11-05 84 views
0

這是我的代碼:如何顯示吐司並點擊小部件中的按鈕打開藍牙?

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

+0

看看這個鏈接:http://www.compiletimeerror.com/2013/11/turn-on-and-off-bluetooth-in-android.html#.VjtNJ7crKM8 – activesince93

+0

謝謝,但那不是我想要的。我知道如何打開藍牙添加監聽器,但我試圖在這裏製作一個控件;我無法將監聽器添加到小部件中的按鈕@activesince93 – Sri

+1

您應該訪問此存儲庫。這是** FlashLightWidget **的一個例子。你會發現如何獲得按鈕'onClick'事件。在這個例子中'BroadcastReceiver'已被使用。存儲庫:https://github.com/ChiragSavsani/FlashLightWidget – activesince93

回答

0

控件是簡單的控制單元。它將無法完成完整的流程。

我的建議是你把一個懸而未決的意圖觸發服務/活動將做到這一點。

你也可以從那裏顯示吐司。

+0

您能否提供一些關於此的代碼或鏈接? – Sri

+1

http://stackoverflow.com/a/16307299/362416。檢查提供的解決方案 – Vinay