求助 关于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 安卓开发校园查询成绩????大神请进 GridView刚创建图片不显示 imageView绑定SQLite数据库中的图片问题 适配器里的getItem和getItemId作用是什么?? Android Service的问题 android studio 配置问题 android手机vpn出现的问题 求高手指教如何实现以毫米为单位的坐标系 AsyncQueryHandler.startQuery如何同时查询多张表的内容 android获取网络视频的缩略图 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