国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android編程實用技術小結

2020-04-11 10:57:53
字體:
來源:轉載
供稿:網友

本文實例總結了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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 胶州市| 呼和浩特市| 班戈县| 耒阳市| 枣阳市| 壶关县| 蒲江县| 正镶白旗| 土默特左旗| 望江县| 临西县| 吉木萨尔县| 抚顺县| 安达市| 屯门区| 铅山县| 泽州县| 邓州市| 大城县| 西和县| 晋中市| 通化县| 临高县| 崇信县| 夏津县| 江津市| 千阳县| 东宁县| 温州市| 灌云县| 安达市| 华亭县| 马关县| 达州市| 永顺县| 哈巴河县| 佛学| 麻江县| 崇文区| 昭苏县| 平顺县|