时间:2021-05-20
本文实例总结了Android编程实用技术。分享给大家供大家参考,具体如下:
1、捕获开机事件,启动receiver
<receiver android:name=".BootReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <category android:name="android.intent.category.HOME" /> </intent-filter></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.
复制代码 代码如下:<receiver android:name=".taskReceiver" android:process=":remote"></receiver>
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程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
vr上下分屏是不能能转换为左右分屏的。 虚拟现实技术,英文名称:VirtualReality,缩写为VR,又称灵境技术,是20世纪发展起来的一项全新的实用技术
vr不是一种工作,而是一种技术。虚拟现实技术缩写为VR,又称灵境技术,是20世纪发展起来的一项全新的实用技术。虚拟现实技术囊括计算机、电子信息、仿真技术于一体,
你那个可以4到5荷3塘4商3家2论4坛查看相3关的实用技术网店运营方案淘宝首页点击聚划算界面—商家报名—然后提交宝贝—店铺挂
本文实例总结了Android实用编程技巧。分享给大家供大家参考,具体如下:1.让一个图片透明:Bitmapbuffer=Bitmap.createBitmap(
关于我编程界的一名小程序猿,目前在一个创业团队任teamlead,技术栈涉及Android、Python、Java和Go,这个也是我们团队的主要技术栈。联系:h