android小部件在几个小时后停止更新代码?

问题描述:

我正在研究一个电池小部件,因此,当Intent.ACTION_BATTERY_CHANGED发生时,它会从小部件onRecive方法中从我可以从中获取其数据的位置收回问题是这样的,即整个过程会很好找,但是当时间流逝意味着您可以说小工具获得生活周围可以说4至5小时,Widget停止更新,此刻我使用textveiw来显示电池的数据,但一些小时后,小部件停止更新文本中的数据这里是代码android小部件在几个小时后停止更新代码?

这里是插件 @Override 公共无效的onUpdate的更新方法(上下文语境,appWidgetManager appWidgetManager, INT [] appWidgetIds){

context.getApplicationContext().registerReceiver(this, 
      new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); 

    ComponentName cn = 
     new ComponentName(context, BatteryInfoActivity.class); 
    appWidgetManager.updateAppWidget(cn, this.views); 
} 

这里是上onRecive方法

@Override 
public void onReceive(Context context, Intent intent) { 
    String action = intent.getAction(); 

    if (action.equals(Intent.ACTION_BATTERY_CHANGED)) { 
     //Integer level = intent.getIntExtra("level", -1); 

     String mgs = "--"; 
     //String BatterInfo = "Level"+ intent.getIntExtra("level", -1)+ "/" + intent.getIntExtra("scale", -1); 
     Integer level = intent.getIntExtra("level", -1); 
     Integer scale = intent.getIntExtra("scale", -1); 
     Integer temp = intent.getIntExtra("temperature",-1); 
     Integer voltage = intent.getIntExtra("voltage", -1); 
     Integer health = intent.getIntExtra("health", -1); 
      boolean present = intent.getBooleanExtra("present", false); 
      Integer plugged = intent.getIntExtra("plugged", -1); 
      String technology = intent.getStringExtra("technology"); 
      Integer status = intent.getIntExtra("status",-1);  
      mgs = mgs + " Technology " + technology + "--"; 
      mgs = mgs + "Battery is Present " + present+"--"; 
      mgs = mgs + " level "+ level + "/" + scale + "--"; 
      mgs = mgs + "tempuratue" + temp + "--"; 
      mgs = mgs + "voltage"+ voltage + "--"; 

     this.views.setTextViewText(R.id.textView1, mgs); 
     ComponentName cn = 
      new ComponentName(context, BatteryInfoActivity.class); 
     AppWidgetManager.getInstance(context).updateAppWidget(cn, this.views); 
    } 
    super.onReceive(context, intent); 
} 
+0

萨拉姆!你能解决这个问题吗?我需要帮助。 –

不能注册从另一个BroadcastReceiver这样一个BroadcastReceiver。你不能在onReceive()中做任何事情,这些事情本身就会超过onReceive()的末尾。

+0

这是什么解决方案?你能指导我吗?我发布了同样的问题。 –

+0

http://stackoverflow.com/questions/30180032/android-widget-stops-working-after-a-while –