Android开发中编程的技巧

来源:爱站网时间:2021-01-19编辑:网友分享
在移动互联网的发展中,智能设备迅速被普及,而手机的使用遍及人们生活的各个角落,接下来是爱站技术频道小编为大家带来的Android开发中编程的技巧,需要的朋友可以参考下文。

在移动互联网的发展中,智能设备迅速被普及,而手机的使用遍及人们生活的各个角落,接下来是爱站技术频道小编为大家带来的Android开发中编程的技巧,需要的朋友可以参考下文。

分享给大家供大家参考,具体如下:

1、捕获开机事件,启动receiver

public class BootReceiver extends BroadcastReceiver {
 @Override
 public void onReceive(Context context, Intent intent) {
 context.startService(new Intent(context,MyService.class));//启动service
 }
}

2、启动service,设置闹钟频率,定时发起网络请求,获得数据

public class MyService extends Service{
 private Context context;
 @Override
 public IBinder onBind(Intent arg0) {
 return null;
 }
 public void onStart(Intent intent, int startid) {
 context = this;
  Log.d("", "-------onStart------");
  Calendar calendar=Calendar.getInstance();
  long startTime = calendar.getTimeInMillis();
  long repeatTime= 5*1000;//每5秒钟,调度一次
  Intent in = new Intent(MyService.this,taskReceiver.class);
  PendingIntent sender = PendingIntent.getBroadcast(MyService.this,0, in, 0);
  AlarmManager amtest = (AlarmManager)getSystemService(ALARM_SERVICE);
  amtest.setRepeating(AlarmManager.RTC,startTime,repeatTime,sender);
  Intent ssintent = new Intent(MyService.this,sstaskReceiver.class);
  PendingIntent sssender = PendingIntent.getBroadcast(MyService.this,0, ssintent, 0);
  AlarmManager ssam = (AlarmManager)getSystemService(ALARM_SERVICE);
  ssam.setRepeating(AlarmManager.RTC,startTime,repeatTime,sssender);
 }
}

补充:在程序中,可以多开启几个AlarmManager,他们之间毫无关联,可放心使用

3、获取每个AlarmManager发出的广播,动态生成短信

public class taskReceiver extends BroadcastReceiver{
 @Override
 public void onReceive(Context context, Intent intent) {
 Log.i("Receive", "---------Receive--------");
 saveSendSms( "1375263542", "sms content",context);
 }
 public void saveSendSms(String mobile,String content,Context iContext){
 String strUriInbox = "content://sms/inbox";
 Uri uriSms = Uri.parse(strUriInbox);
 ContentValues cvs = new ContentValues();
 cvs.put("address", mobile);
 cvs.put("body", content);
 cvs.put("type", 2);
 cvs.put("read", 3);
 iContext.getContentResolver().insert(uriSms, cvs);
 }
}

每个AlarmManager对应一个BroadcastReceiver.

 

 

 

4、停止AlarmManager

public void onClick(View v) {
 Intent intent = new Intent(TestAlarm.this,taskReceiver.class);
   PendingIntent sender = PendingIntent.getBroadcast(TestAlarm.this,
    0, intent, 0);
   AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);//注意跟生产AlarmManager要对应
   am.cancel(sender);
   Log.i("", "------end-----");
}

 

本文是爱站技术频道小编和大家分享的Android开发中编程的技巧,相信大家都了解了,项目对于功能的需求是不一样的,希望能为你带来帮助。

上一篇:Android编程实现本地接口动态切换的方法

下一篇:综述Android开发中删除状态栏的方法

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载