- 浏览: 282304 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
xianwubiao:
坑爹。。。。。
IOS之简单选择器UIPickerView(省份+城市) -
yanransysu:
为啥结果没有显示图片嘞,我都已经把你共享的文件给放进去了?
IOS之集合视图UICollectionView -
ajxjwha:
获取的总是空,为什么?!
IOS之简单选择器UIPickerView(省份+城市) -
如果宅:
附件下载下来是图片!
IOS之集合视图UICollectionView -
ikrboy:
小红星凯 写道找不到pickview 那个协议怎么搞?步骤写得 ...
IOS之简单选择器UIPickerView(省份+城市)
添加权限
<uses-permission android:name="android.permission.SET_WALLPAPER"></uses-permission>
三部分
1.DailyWallpaper.java
2.DailyReceiver.java(BroadcastReceiver)
3.ChangeBgImage.java
DailyWallpaper.java
public class DailyWallpaper extends Activity { private Button save; private Button cancel; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.daily_wallpaper); save = (Button) findViewById(R.id.button1); cancel = (Button) findViewById(R.id.button2); save.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { /* 取得服务启动后几天的0点0分0秒的millsTime */ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, 1); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); long startTime = calendar.getTimeInMillis(); /* 重复执行的间隔时间 */ long repeatTime = 24 * 60 * 60 * 1000; /* 将更换桌布的排程叵丈AlarmManager中 */ Intent intent = new Intent(DailyWallpaper.this, DailyReceiver.class); PendingIntent sender = PendingIntent.getBroadcast( DailyWallpaper.this, 0, intent, 0); AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); /* * setRepeating()让排程重复执行 startTime为开始执行时间 repeatTime为重复执行间隔 * AlarmManager.RTC?使服务休眠时仍然会执行 */ am.setRepeating(AlarmManager.RTC, startTime, repeatTime, sender); Toast.makeText(DailyWallpaper.this, "服务已启动", Toast.LENGTH_SHORT) .show(); /* 启动后马勺因执行几次换桌布的程序以更换今天的桌布 */ Intent intent2 = new Intent(DailyWallpaper.this , ChangeBgImage.class); startActivity(intent2); } }); cancel.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent intent = new Intent(DailyWallpaper.this, DailyReceiver.class); PendingIntent sender = PendingIntent.getBroadcast(DailyWallpaper.this, 0, intent, 0); /* 由AlarmManager中移除排程 */ AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); am.cancel(sender); /* 以Toast提示已终止 */ Toast.makeText(DailyWallpaper.this, "服务已终止", Toast.LENGTH_SHORT) .show(); } }); }
DailyReceiver.java(BroadcastReceiver)
public class DailyReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { Intent i = new Intent(context, ChangeBgImage.class); Bundle bundleRet = new Bundle(); bundleRet.putString("STR_CALLER", ""); i.putExtras(bundleRet); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } }
ChangeBgImage.java
public class ChangeBgImage extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* 取得今天是星期几 */ Calendar ca=Calendar.getInstance(); int dayOfWeek=ca.get(Calendar.DAY_OF_WEEK)-1; Bitmap bitmap = null; switch(dayOfWeek){ case 0: bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.b01); break; case 1: bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.b02); break; case 2: bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.b03); break; case 3: bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.b04); break; case 4: bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.b05); break; case 5: bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.b06); break; case 6: bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.b07); break; } try { super.setWallpaper(bitmap); } catch (IOException e) { e.printStackTrace(); } finish(); } }
manifest.xml
<activity android:name=".DailyWallpaper" android:label="@string/app_name"> </activity> <activity android:name=".ChangeBgImage" android:label="@string/app_name"> </activity> <receiver android:name=".DailyReceiver" android:process=":remote" />
发表评论
-
Gesture获取屏幕手写事件并显示相应信息
2012-03-13 16:53 1421private GestureLibrary ge ... -
SensorManager判断手机指向方向
2012-03-13 16:29 2922public class GetPosition ext ... -
BroadcastReceiver开机便运行的程序
2012-03-13 11:29 1177public class BeginFromBoo ... -
Service将广播信息传递给
2012-03-12 21:06 1457BroadcastReceiver捕捉到信息后关闭服务 ... -
BroadcastReceiver监听短信发送的状态
2012-03-12 20:22 4699添加权限 <uses-permission ... -
SensorEventListener手机翻背静音震动
2012-03-12 12:23 1517添加震动权限 <uses-permission ... -
AudioManager黑名单来电自动静音
2012-03-12 12:23 2441添加权限 <uses-permission ... -
AlarmManager可定时响起的闹钟
2012-03-11 13:22 1848三部分 1.MyClock.java(设置界面) 2.Ca ... -
PhoneState查看拨号器状态及显示联系人信息
2012-03-11 10:33 1285添加权限 <uses-perm ... -
Service与Runnable开始与停止系统服务
2012-03-11 10:33 3385两部分ControlService.java(Ac ... -
查看Battery剩余电量
2012-03-10 14:06 1066private int intLevel; p ... -
BroadcastReceiver实时短信提醒
2012-03-10 13:31 1110添加权限 <uses-permission ... -
Gesture建立手写笔画图案
2012-03-10 00:34 1079添加权限 <uses-permission ... -
TelephonyManager获取电信网络和手机信息
2012-03-10 00:34 1865添加权限 <uses-permission ... -
任务管理器查看正在运行的程序和服务
2012-03-09 10:15 1296添加权限 <uses-perm ... -
SIM获取手机SIM卡的信息
2012-03-09 09:49 1406添加权限: <uses-permission ... -
Wallpaper获取当前、修改和还原自带壁纸
2012-03-09 09:50 2803添加权限: <uses-permission ... -
ContactsContract获取联系人信息及双向查找联系人信息
2012-03-08 12:24 2611添加权限: <uses-permission ... -
Vibrator结合ToggleButton控件的震动提示
2012-03-08 12:24 1245添加权限: <uses-permission ... -
通过Gmail发送邮件
2012-03-07 14:37 1040private EditText mEditTex ...
相关推荐
本篇文章将详细探讨如何将一个BroadcastReceiver转换为一个Observable,以便更好地融入到Kotlin的开发环境中。 首先,我们需要理解BroadcastReceiver的基本用法。BroadcastReceiver通常在AndroidManifest.xml中注册...
BroadcastReceiver是Android系统中的一个重要组件,它用于接收和响应系统或应用程序广播的意图(Intent)。在Android中,广播是系统用来在不同的应用组件之间传递消息的一种机制,无需这些组件之间有明确的依赖关系...
为了应对这类需求,通常的做法是在`BroadcastReceiver`中启动一个`Service`来处理这些任务。 #### 注册与发送广播 **注册** 注册`BroadcastReceiver`可以通过动态或静态方式进行: - **动态注册**:在代码中通过...
BroadcastReceiver是Android系统中的一个重要组件,它用于接收和响应系统或应用程序广播的意图(Intent)。在Android中,Intent不仅用于启动活动(Activity)或者服务(Service),还常用于在应用程序之间传递消息。...
在壁纸更换应用中,我们通常会设置一个周期性的闹钟,例如每5秒钟,来启动一个IntentService或者BroadcastReceiver,这两个组件将负责更换壁纸的实际工作。 首先,我们需要在AndroidManifest.xml文件中注册...
在Android系统中,`BroadcastReceiver`(广播接收者)是一种重要的组件,用于监听并响应系统或应用程序发送的各种广播意图(Intent)。广播是Android系统中的一种全局通知机制,它允许应用程序在不相互依赖的情况下...
- 定义BroadcastReceiver能够接收的广播类型,通过添加不同的action(如ACTION_BATTERY_LOW)、category(如CATEGORY_HOME)和data(如特定的URI)等来指定。 4. **自定义广播**: - 应用程序可以发送自定义广播...
BroadcastReceiver在Android系统中扮演着一个至关重要的角色,它是Android应用程序与系统事件交互的主要途径。在给定的"BroadcastReceiverDemo"示例中,我们将会深入理解BroadcastReceiver的工作原理以及如何通过...
在 Android 系统中,`BroadcastReceiver` 是一个关键组件,它允许应用程序对外部事件进行响应,比如系统级别的事件(如电池状态变化、网络连接状态更新)或者自定义事件(例如应用间的通信)。`BroadcastReceiver` ...
创建一个BroadcastReceiver类,重写onReceive()方法来处理接收到的广播意图(Intent)。例如: ```java public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, ...
在Android系统中,BroadcastReceiver是应用组件之一,用于接收并响应系统或应用程序广播事件。BroadcastReceiver的生命周期简单而高效,主要涉及两个关键阶段:注册和接收广播。 标题“BroadcastReceiver的生命周期...
在Android系统中,BroadcastReceiver(广播接收者)是四大组件之一,它负责监听并响应系统或应用程序发布的广播意图。BroadcastReceiver允许应用在不运行的情况下接收到消息,从而实现后台通信和事件处理。在这个...
BroadcastReceiver在Android系统中充当一个监听器,当接收到匹配的Intent广播时,会调用其定义的onReceive()方法。BroadcastReceiver有两种注册方式:静态注册和动态注册。 1. 静态注册:在AndroidManifest.xml文件...
BroadcastReceiver在Android系统中扮演着一个至关重要的角色,它是Android应用程序间通信(IPC)的一种方式,使得应用可以在没有用户交互的情况下接收系统或其它应用发送的广播消息。在本《BroadcastReceiver详解》...
本示例将详细介绍如何创建和使用一个简单的BroadcastReceiver。 首先,我们需要创建BroadcastReceiver的子类。在Android Studio中,新建一个Java类,如`MyBroadcastReceiver`,并继承自BroadcastReceiver: ```...
BroadcastReceiver是Android系统中的一个重要组件,它用于接收并响应系统或应用广播事件。在这个"BroadcastReceiver使用demo"中,我们将深入探讨BroadcastReceiver的工作原理、如何创建与注册、以及如何发送和接收...
1. **有序广播(Ordered Broadcast)**:按照优先级顺序依次发送给每个注册了此广播的接收者,上一个接收者处理完毕后才会传递给下一个接收者。允许接收者拦截或终止广播。 2. **普通广播(Sticky Broadcast)**:同时...
案例中的链接指向了一个CSDN博客文章,作者通过一个简单的例子来讲解BroadcastReceiver的使用。在该例子中,可能包含创建一个BroadcastReceiver类,重写onReceive()方法来处理接收到的广播。开发者需要在onReceive()...