2012-02-10 20 views
2

以下のコードを見てください毎晩このonUpdateメソッドを更新する必要があります。誰かが良い例を挙げることができますか?主に私はあなたがサービスをコーディングすることができますviews.setTextViewText(R.id.text_widget_batt, prefNameBattery+"%");毎秒ウィジェットを更新するには?

public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { 
     final int N = appWidgetIds.length; 


     for (int i=0; i<N; i++) { 
      int appWidgetId = appWidgetIds[i]; 


      Intent intent = new Intent(context, MyActivity.class); 
      PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); 


      RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget); 
      views.setOnClickPendingIntent(R.id.layout_widget, pendingIntent); 

      CurFreq(context); 
      Temp(context); 
      Battery(context); 

      SharedPreferences myPrefsInfo = context.getSharedPreferences("myPrefsInfo", Context.MODE_PRIVATE); 
      String prefNameCurFreq = myPrefsInfo.getString(WidgetCurFreq, ""); 
      String prefNameTemp = myPrefsInfo.getString(WidgetTemp, ""); 
      String prefNameBattery = myPrefsInfo.getString(WidgetBattery, ""); 

      views.setTextViewText(R.id.text_widget_freq, prefNameCurFreq); 
      views.setTextViewText(R.id.text_widget_temp, prefNameTemp+",0°C"); 
      views.setTextViewText(R.id.text_widget_batt, prefNameBattery+"%"); 


      appWidgetManager.updateAppWidget(appWidgetId, views); 
     } 
    } 
+1

アプリウィジェットは毎秒更新されるようには設計されていません。 – CommonsWare

+0

しかしこれは私の質問では答えられません。 – Adam

+0

あなたは私が答えとしてそれを提供しなかったことに気づくでしょうが、コメントとして。 – CommonsWare

答えて

-1

CurFreq(context);からコードを更新し、タイマーを実装し、それに応じてウィジェットを毎秒を更新する必要があります。 OnStartCommand(Intent、int、int)でメソッドを呼び出します。タイマーでのサービスのメソッド。

+0

サービスとスレッドで解決しました。しかし、あなたの助言に感謝します。 – Adam

関連する問題