Android編程實(shí)用技術(shù)小結(jié)
本文實(shí)例總結(jié)了Android編程實(shí)用技術(shù)。分享給大家供大家參考,具體如下:
1、捕獲開機(jī)事件,啟動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);
}
}
補(bǔ)充:在程序中,可以多開啟幾個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.
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è)計(jì)有所幫助。
- 一些比較實(shí)用的 Android adb 命令分享
- Android實(shí)用圖文教程之代碼混淆、第三方平臺加固加密、渠道分發(fā)
- Android實(shí)用的代碼片段 常用代碼總結(jié)
- android實(shí)用工具類分享(獲取內(nèi)存/檢查網(wǎng)絡(luò)/屏幕高度/手機(jī)分辨率)
- Android封裝的http請求實(shí)用工具類
- Android 實(shí)用工具之emulator介紹
- Android編程實(shí)現(xiàn)WebView自適應(yīng)全屏方法小結(jié)
- Android編程實(shí)現(xiàn)TextView字體顏色設(shè)置的方法小結(jié)
- Android編程中圖片特效處理方法小結(jié)
相關(guān)文章
Compose自定義View實(shí)現(xiàn)繪制Rainbow運(yùn)動三環(huán)效果
這篇文章主要為大家介紹了一個基于Compose自定義的一個Rainbow彩虹運(yùn)動三環(huán),業(yè)務(wù)上類似于iWatch上的那個運(yùn)動三環(huán),感興趣的小伙伴可以了解一下2023-02-02
Android RecyclerView仿新聞頭條的頻道管理功能
這篇文章主要介紹了Android RecyclerView仿新聞頭條的頻道管理功能,需要的朋友可以參考下2017-06-06
Android開發(fā)學(xué)習(xí)筆記 Gallery和GridView淺析
這篇文章主要介紹了Android開發(fā)學(xué)習(xí)筆記 Gallery和GridView淺析,需要的朋友可以參考下2014-11-11
Android studio 實(shí)現(xiàn)隨機(jī)位置畫10個隨機(jī)大小的五角星的代碼
這篇文章主要介紹了Android studio 實(shí)現(xiàn)隨機(jī)位置畫10個隨機(jī)大小的五角星,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05
android RadioButton和CheckBox組件的使用方法
本次實(shí)驗(yàn)中主要是學(xué)習(xí)如何使用RadioGroup,CheckBox,RadioButton和Toast這幾個控件,android UI開發(fā)中也會經(jīng)常用到他們2013-11-11
Android編程實(shí)現(xiàn)仿心跳動畫效果的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)仿心跳動畫效果的方法,實(shí)例分析了Android基于線程實(shí)現(xiàn)動畫過度效果的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11
Android中的windowSoftInputMode屬性詳解
這篇文章主要介紹了Android中的windowSoftInputMode屬性詳解,本文對windowSoftInputMode的9個屬性做了詳細(xì)總結(jié),需要的朋友可以參考下2014-10-10

