欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android編程實用技術(shù)小結(jié)

 更新時間:2016年01月16日 09:40:48   作者:hshm20517  
這篇文章主要介紹了Android編程實用技術(shù),實例匯總了開機啟動receiver、service使用、AlarmManager發(fā)送廣播及停止AlarmManager等相關(guān)技巧,需要的朋友可以參考下

本文實例總結(jié)了Android編程實用技術(shù)。分享給大家供大家參考,具體如下:

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,設(shè)置鬧鐘頻率,定時發(fā)起網(wǎng)絡(luò)請求,獲得數(shù)據(jù)

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秒鐘,調(diào)度一次
  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,他們之間毫無關(guān)聯(lián),可放心使用。

3、獲取每個AlarmManager發(fā)出的廣播,動態(tài)生成短信

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對應(yīng)一個BroadcastReceiver.

復(fù)制代碼 代碼如下:
<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);//注意跟生產(chǎn)AlarmManager要對應(yīng)
   am.cancel(sender);
   Log.i("", "------end-----");
}

希望本文所述對大家Android程序設(shè)計有所幫助。

相關(guān)文章

最新評論