当前位置: 首页 > news >正文

企业网站建设组织人员可行性分析快速排名软件案例

企业网站建设组织人员可行性分析,快速排名软件案例,网店推广实训报告,个人备案的网站名称AlarmManager是Android提供的一个全局定时器,利用系统闹钟定时发送广播。这样做的好处是:如果App提前注册闹钟的广播接收器,即使App退出了,只要定时到达,App就会被唤醒响应广播事件。 AlarmManager设置的PendingInten…

AlarmManager是Android提供的一个全局定时器,利用系统闹钟定时发送广播。这样做的好处是:如果App提前注册闹钟的广播接收器,即使App退出了,只要定时到达,App就会被唤醒响应广播事件。

AlarmManager设置的PendingIntent待定意图,只要未cancel,就会按时启动,无论程序是否关闭。

请注意,静态注册的广播接收者在即使程序关闭也依然生效;动态注册的广播接收者在程序关闭后自动注销,动态注册的广播接收者也可使用unregisterReceiver()手动注销。在Android8.0以后,只有小部分接收系统广播的广播接收者允许静态注册;其他广播接收者只能动态注册,否则收不到广播。

一、使用方法

(1) 创建用于广播的Intent(意图)

Intent intent=new Intent();
intent.setAction( "MyTestBroadcast" );

(2) 创建发送广播的PendingIntent(待定意图)

PendingIntent pendingIntent=PendingIntent.getBroadcast(MainActivity.this,2333,intent,PendingIntent.FLAG_IMMUTABLE);

第一个参数为环境;第二个参数为请求码;第三个参数为要执行的Intent(意图);第四个参数为请求时PendingIntent已存在的解决方案。 

(3) 创建执行PendingIntent的时间

//创建Calendar
Calendar calendar=Calendar.getInstance();
//将时间设置为当前时间
calendar.setTimeInMillis(System.currentTimeMillis());
//增加时间
calendar.add(Calendar.SECOND,7);
//获取最终时间
long time=calendar.getTimeInMillis();

(4) 创建AlarmManager并设置PendingIntent

//创建AlarmManager闹钟管理者
AlarmManager alarmManager= (AlarmManager) getSystemService(ALARM_SERVICE);
//设置闹钟
alarmManager.set(AlarmManager.RTC_WAKEUP,time,pendingIntent);

alarmManager.set()方法的参数:第一个参数为闹钟类型,第二个参数为long型的执行PendingIntent的时间,第三个参数为到达时间后执行的PendingIntent。

二、闹钟类型

(1) ELAPSED_REALTIME : 以手机开机时间为基准。

(2) ELAPSED_REALTIME_WAKEUP : 以手机开机时间为基准,并且可以在休眠时发出广播

(3) RTC : 以UTC标准时间为基准。

(4) RTC_WAKEUP 【常用】:以 UTC标准时间为基准,并且可以在休眠时发出广播

三、使用AlarmManager

//创建Intent意图,用于发送广播
Intent intent=new Intent().setAction("MyTestBroadcast");
//根据Intent意图创建PendingIntent等待意图
PendingIntent pendingIntent=PendingIntent.getBroadcast(MainActivity.this,2333,intent,PendingIntent.FLAG_IMMUTABLE);//获取执行时间
//创建Calendar
Calendar calendar=Calendar.getInstance();
//将时间设置为当前时间
calendar.setTimeInMillis(System.currentTimeMillis());
//增加时间
calendar.add(Calendar.SECOND,7);
//获取最终时间
long time=calendar.getTimeInMillis();//创建AlarmManager闹钟管理者
AlarmManager alarmManager= (AlarmManager) getSystemService(ALARM_SERVICE);
//设置闹钟
alarmManager.set(AlarmManager.RTC_WAKEUP,time,pendingIntent);

四、例子

1.创建广播接收者

AndroidManifest.xml清单文件

<application......><receiverandroid:name=".MyBroadcastReceiver"android:enabled="true"android:exported="true"></receiver><activity......>......</activity>
</application>

MyBroadcastReceiver.java文件

public class MyBroadcastReceiver extends BroadcastReceiver{private Context context;public MyBroadcastReceiver(Context context){this.context=context;}public void onReceive(Context context, Intent intent) {//广播接收者NotificationManager notificationManager= (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {NotificationChannel notificationChannel=new NotificationChannel("id","name",NotificationManager.IMPORTANCE_HIGH);notificationManager.createNotificationChannel(notificationChannel);}Notification.Builder builder=new Notification.Builder(context);if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {builder.setChannelId("id");}builder.setContentText("接收到广播");builder.setSmallIcon(R.drawable.icon2);builder.setWhen(System.currentTimeMillis());builder.setAutoCancel(true);Notification notification=builder.build();notificationManager.notify(2333,notification);}
}

2.注册广播接收者&&设置定时发送广播闹钟

MainActivity.java文件

public class MainActivity extends AppCompatActivity {private MyBroadcastReceiver myBroadcastReceiver;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//注册广播接收者-接收"MyTestBroadcast"广播myBroadcastReceiver=new MyBroadcastReceiver(MainActivity.this);IntentFilter intentFilter=new IntentFilter();intentFilter.addAction("MyTestBroadcast");registerReceiver(myBroadcastReceiver,intentFilter);//获取控件Button button=findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {public void onClick(View view) {//创建Intent意图,用于发送广播Intent intent=new Intent().setAction("MyTestBroadcast");//根据Intent意图创建PendingIntent等待意图PendingIntent pendingIntent=PendingIntent.getBroadcast(MainActivity.this,2333,intent,PendingIntent.FLAG_IMMUTABLE);//获取执行时间//创建CalendarCalendar calendar=Calendar.getInstance();//将时间设置为当前时间calendar.setTimeInMillis(System.currentTimeMillis());//增加时间calendar.add(Calendar.SECOND,7);//获取最终时间long time=calendar.getTimeInMillis();//创建AlarmManager闹钟管理者AlarmManager alarmManager= (AlarmManager) getSystemService(ALARM_SERVICE);//设置闹钟alarmManager.set(AlarmManager.RTC_WAKEUP,time,pendingIntent);//销毁页面MainActivity.this.finish();}});}protected void onDestroy() {super.onDestroy();// 不 注销广播接收者if(myBroadcastReceiver!=null){//unregisterReceiver(myBroadcastReceiver);}}
}

http://www.mmbaike.com/news/71633.html

相关文章:

  • 教育行业网站制作品牌广告
  • 济宁做网站建设的公司企业员工培训总结
  • 宿迁网站建设开发磁力岛引擎
  • 大良网站建设价位广东最新消息
  • 安徽芜湖网站建设网络推广优化品牌公司
  • 网站制作模板图片临沂头条新闻今日头条
  • 我自己怎么建网站百度天眼查
  • 课程网站怎么做网络营销的方式都有哪些
  • 魅族官方网站挂失手机找到怎么做seo推广营销公司
  • 杭州网站建设网络公司友情链接买卖平台
  • 建设网站公司哪好360摄像头海澳門地区限制解除
  • 一个网站可以有几个关键词今日全国疫情最新消息
  • 英文学习网站html静态网页制作
  • wordpress 页面跳转seo方案书案例
  • wordpress 头像打岔seo搜索引擎优化就业指导
  • 一个网站有哪些优势网络广告的优势有哪些
  • 相册网站怎么做的软件编程培训学校排名
  • 漂亮的网站维护页面网络营销主要做什么
  • web素材网资源企业网站排名优化价格
  • 网站制作软件安卓版百度运营公司
  • wordpress知更鸟配置seo兼职接单平台
  • 网站用wordpress还是wp推广的公司
  • 上海营销网站制作网站权重怎么提高
  • 做学校网站白杨seo
  • 辽河油田建设有限公司网站百度一下app下载安装
  • 微信网站 手机网站网络营销渠道策略
  • 网站建设开源项目github公司企业网站建设
  • 正规的网站制作电话手机端网站排名
  • 自己做服务器网站网站做成app
  • 延安网站建设推广seo研究所