求助 关于Widget的 谁有一个实时显示手机电量的Widget代码,传给我一份作为参考学习吧,重谢!要求可用 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import android.app.Service;import android.appwidget.AppWidgetManager;import android.appwidget.AppWidgetProvider;import android.content.BroadcastReceiver;import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.IBinder;import android.widget.RemoteViews;public class BatteryMonitorWidget extends AppWidgetProvider{public void onUpdate( Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds ){context.startService(new Intent(context, BatteryMonitorReceiver.class));}public static class BatteryMonitorReceiver extends Service{private int currentBatteryLevel = 0;private BroadcastReceiver batteryReceiver = new BroadcastReceiver(){@Overridepublic void onReceive( Context context, Intent intent ){currentBatteryLevel = intent.getIntExtra( "level", 0 );}};@Overridepublic void onStart( Intent intent, int startId ){registerReceiver( batteryReceiver, new IntentFilter( Intent.ACTION_BATTERY_CHANGED ) ); //注册一个动作改变事件捕获,这里为电量改变时即ACTION_BATTERY_CHANGED RemoteViews views = new RemoteViews( getPackageName(), R.layout.main ); //从layout下main.xml中构造widgets//这里我们应该判断currentBatteryLevel的数值来显示图片电量等级,比如battery_level_1或battery_level_5等等,下面是nviews.setImageViewResource( R.id.ImageView01, R.drawable.battery_level_n );views.setTextViewText( R.id.myText, currentBatteryLevel + "%" ); //从BroadcastReceiver读取当前的电量等级ComponentName thisWidget = new ComponentName( this, BatteryMonitorWidget.class );AppWidgetManager manager = AppWidgetManager.getInstance( this );manager.updateAppWidget( thisWidget, updateViews ); //开始执行了}@Overridepublic IBinder onBind( Intent intent ){return null;}}}参考:http://www.uugo.org/project/Android/71122.html Android怎样获取CPU使用率 菜鸟关于安卓的一些疑问 java 正则表达式 android的调试程序方法有哪些? 初学android碰见的问题 android gallery 中的每个item可以自定义布局吗? 请教如何处理:unable to resolve virtual method错误 FTPClient SockerTimeoutException win7环境搭建Andriod ADT 22.6.2,layout出不来 webView兼容问题? 求大神帮主。 android drawText无法显示文字 求救:把android手机设置为热点(AP)的原理
import android.app.Service;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.IBinder;
import android.widget.RemoteViews;
public class BatteryMonitorWidget extends AppWidgetProvider
{
public void onUpdate( Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds )
{
context.startService(new Intent(context, BatteryMonitorReceiver.class));
}
public static class BatteryMonitorReceiver extends Service
{
private int currentBatteryLevel = 0;
private BroadcastReceiver batteryReceiver = new BroadcastReceiver()
{
@Override
public void onReceive( Context context, Intent intent )
{
currentBatteryLevel = intent.getIntExtra( "level", 0 );
}
};
@Override
public void onStart( Intent intent, int startId )
{
registerReceiver( batteryReceiver, new IntentFilter( Intent.ACTION_BATTERY_CHANGED ) ); //注册一个动作改变事件捕获,这里为电量改变时即ACTION_BATTERY_CHANGED
RemoteViews views = new RemoteViews( getPackageName(), R.layout.main ); //从layout下main.xml中构造widgets
//这里我们应该判断currentBatteryLevel的数值来显示图片电量等级,比如battery_level_1或battery_level_5等等,下面是n
views.setImageViewResource( R.id.ImageView01, R.drawable.battery_level_n );
views.setTextViewText( R.id.myText, currentBatteryLevel + "%" ); //从BroadcastReceiver读取当前的电量等级
ComponentName thisWidget = new ComponentName( this, BatteryMonitorWidget.class );
AppWidgetManager manager = AppWidgetManager.getInstance( this );
manager.updateAppWidget( thisWidget, updateViews ); //开始执行了
}
@Override
public IBinder onBind( Intent intent )
{
return null;
}
}
}
参考:http://www.uugo.org/project/Android/71122.html