相关疑难解决方法(0)

使用AlarmManager更新应用小部件

我试图比1.6docs施加的30分钟限制更频繁地更新Widget.在阅读了SO中的几乎所有帖子,以及开发人员文档和其他各种来源之后,我认为我已经达到了可以实现它的程度.所以,我尝试过,但失败了.从那时起,我已经搜索了更多的论坛和解决方案,我似乎无法更新它.

我有一个Update类来设置AlarmManager:

public class Update extends Service{

    @Override
    public void onStart(Intent intent, int startId) {
          String currentTemp = Battery.outputTemp;
          String currentLevel = Battery.outputLevel;
          String currentCard = Battery.outputCard;
          String currentInternal = Battery.memory;
          String currentRam = String.valueOf(Battery.outputRam).substring(0, 3) + "MB";

          // Change the text in the widget
          RemoteViews updateViews = new RemoteViews( 
          this.getPackageName(), R.layout.main);
          //update temp
          updateViews.setTextViewText(R.id.batteryTemp, currentTemp); 
          //update %
          updateViews.setTextViewText(R.id.batteryLevel, currentLevel);     
          //update level
          updateViews.setTextViewText(R.id.sdCard, currentCard);
          //update internal memory
          updateViews.setTextViewText(R.id.internal, currentInternal);
          //update ram
          updateViews.setTextViewText(R.id.ram, currentRam);

          ComponentName thisWidget = new ComponentName(this, Widget.class);
          AppWidgetManager …
Run Code Online (Sandbox Code Playgroud)

android android-widget alarmmanager

10
推荐指数
2
解决办法
2万
查看次数

Listivew Widget不会自动更新

我的朋友已完成一个应用程序,现在他为他的应用程序创建了一个小部件,可用于以列表视图方式显示任务列表.首先,当他拖动窗口小部件并安装在主屏幕时,它将正常工作,并以列表视图方式显示任务.

他的问题是,当他对他的应用程序进行更改然后回到他的主屏幕时,没有反映出任何变化.他正在使用onReceive()这个方法来更新小部件

import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.net.Uri;
import android.util.Log;
import android.widget.RemoteViews;

public class WidgetTaskSchedular extends AppWidgetProvider {
    private final String TAG = "CalendarViewSample:"
            + this.getClass().getName();

    SharedPreferences sharedprefer;

    @Override
    public void onReceive(Context context, Intent intent) {
        super.onReceive(context, intent);
        if(intent.getAction().equals("update_widget"))
        {
            int[] appid=new int[1];
            sharedprefer=context.getSharedPreferences("TaskWidget", 0);
            appid[0]=sharedprefer.getInt("widget_key",0);
            Log.i(TAG,"Appwidgetid"+appid[0]);
            onUpdate(context, AppWidgetManager.getInstance(context),appid);

        }
    }
    public static String EXTRA_WORD=
            "com.capsone.testing.calendar.WORD";
    @SuppressWarnings("deprecation")
    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager,
            int[] appWidgetIds) …
Run Code Online (Sandbox Code Playgroud)

android widget auto-update

3
推荐指数
1
解决办法
3760
查看次数