广播 闹钟
来源:互联网 发布:知乎 a脑波音乐副作用 编辑:程序博客网 时间:2024/05/16 01:15
注册Broadcast Receiver的方法
1、 在 Android Manifest中进行注册(与应用程序Activity没有关系,不会因为Activity销毁而不能发送广播)
<activityandroid:name="com.example.receiver.MyReceiver">
<intent-filter>
<actionandroid:name="com.example.receiver.ACTION"/>
</intent-filter>
2、 在应用程序的代码中进行注册
Activityà
privatefinalstaticStringACTION ="com.example.receiver.ACTION";
在Activity的OnResume()方法中注册
SecondReceiver receiver =newSecondReceiver();
IntentFilterfilter = new IntentFilter();
filter.addAction(ACTION);
registerReceiver(receiver,filter);
在Activity的OnPause()方法中取消注册
unregisterReceiver(receiver);
构建Intent对象发送广播
隐式跳转
privatefinalstaticStringACTION ="com.example.receiver.ACTION";
Intent intent = new Intent();
intent.setAction(Action);
sendBroadcast(intent);//发送普通广播
sendOrderedBroadcast(in,null);//发送有序广播
sendStickyBroadcast(in);//发送延迟的广播
显示跳转
Intent intent =newIntent(ClockActivity.this,AlarmReceiver.class);
接受广播,跳转到另一个Activity
@Override
publicvoid onReceive(Contextcontext, Intent intent) {
Intent in = newIntent(context,MainActivity.class);
in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(in);
}
闹钟服务(AlarmManager):可在指定的时间或指定的周期启动其他组建(BroadcastReceiver,Activity,Server)
1、 获取AlarmManager对象
AlarmManager am = (AlarmManager)getSystemService(Service.ALARM_SERVICE);
2、 启动指定的组件
Calendar c =Calendar.getInstance();//日历控件
TimePickertime
time = (TimePicker)view.findViewById(R.id.timePicker1);
time.setIs24HourView(true);//设置TimePicker为24小时制
c.setTimeInMillis(System.currentTimeMillis());
c.set(Calendar.HOUR_OF_DAY,time.getCurrentHour());
c.set(Calendar.MINUTE,time.getCurrentMinute());
c.set(Calendar.SECOND,0);
c.set(Calendar.MILLISECOND,0);
tmps = time.getCurrentHour()+":"+(time.getCurrentMinute()<10?("0"+time.getCurrentMinute()):time.getCurrentMinute());
s =c.getTimeInMillis();
Intent intent =newIntent(ClockActivity.this,AlarmReceiver.class);
//延迟发送
PendingIntent sender = PendingIntent.getBroadcast(ClockActivity.this,0, intent, 0);
//1、即使关机也会执行sender所对应的组件 2、设置的时间
am.set(AlarmManager.RTC_WAKEUP,s, sender);
3、编写闹钟弹出界面
启动程序
String pkname = pkInfo.activities[0].name;//获得应用程序的第一个Activity名字
Intent intent=newIntent();
ComponentName cn =newComponentName(pkInfo.packageName,pkname);//启动程序
intent.setComponent(cn);
startActivity(intent);
接受系统的广播需要加权限
- 广播 闹钟
- 广播-通知-闹钟
- 闹钟广播的写法
- Android学习篇章59-广播BroadcastReceiver-闹钟
- android Alarm闹钟发送广播播放音乐
- android获取各类手机的闹钟广播
- 利用广播和AlarmManager来设置Toast闹钟
- Android实现闹钟,通过AlarmManager+BroadcastReceiver(广播)
- 闹钟
- 闹钟
- 闹钟
- 闹钟
- 闹钟
- 闹钟
- 闹钟
- 闹钟
- 锁屏状态下点亮屏幕,并弹出闹钟提示信息,可以在锁屏界面上取消闹钟;使用广播接收闹钟定时:
- android广播事件处理broadcast receive -闹钟实例(运用alarmmanager)
- C#枚举类型 标志枚举
- 策略模式
- 软工实验报告二
- 程序设计基础
- 另一种写键盘游戏的方式
- 广播 闹钟
- 四、初学Java多线程:线程的生命周期
- 如何克服职场性格缺陷?
- 编写常规DLL
- 几种典型程序Button处理代码的定位
- with check option
- 《浪潮之巅》读书摘记
- 正则应用之——日期正则表达式
- 《JavaScript语言精粹》--JSLint