之前開發的應用要求的乙個功能是同步手機系統日曆日程,發現網上也沒什麼總結好的答案,查閱了些資資料沒有發現android有獲取指定日期事件的方法,於是自己就研究了一番。
1、先在android的配置檔案中新增讀取日曆的許可權
2、不同版本的日曆url路徑:android
:name=
"android.permission.read_calendar"
/>
android
:name=
"android.permission.write_calendar"
/>
if (integer.parseint(build.version.sdk3、我通過handler_message機制傳送訊息查詢資料庫,在查詢資料庫之前對於於android6.0以後的系統,要先判斷相應的許可權是否開啟,判斷**如下) >= 8) else
int如果result為0的話說明相應的許可權已開啟,若不為0,則未開啟,即可不進行查詢或通知使用者開啟相應許可權等後續操作result= 0
;if (android.os.build.version.sdk_int
>= android.os.build.version_codes.m
)
4、查詢資料庫
private listevents=new arraylist<>;//儲存查詢結果public void query(),
null);
while (cursor.movetonext()) else if (textutils.isempty(duration))
}if (cursor!= null && !cursor.isclosed())
messagemsg= new message();
msg.what = mainactivity.query_system_events
;msg.obj = events;;
handler.sendmessage(msg);
}
}//開始時間和結束時間是13位時間戳
private voidsetnormalevents(cursor cursor, string starttime, string endtime)
} else else if (dstart<start&&dtend>start&&dtend<end) else if (dstart<start&&dtend>end) else if (dstart>start&&dstart<end&&dtend>end) }}
/*** 設定基本資料**
@param
cursor
*@param
bean
*/private void
setbasedate(cursor cursor, event bean)
//重複事件重複規則沒有找到好方法進行解析還在研究中
private void
setrepeatevents(cursor cursor, string starttime) else if (dstart<start)
} }
這段**可以獲取指點日期的系統日曆事件,對於開始時間在指定日期 的重複事件也可以讀出,當鑑於本人能力有限沒有能解決了重複事件rrule規則,對於重複事件的處理還不完善,哪位大神有好方法,解決重複日程的問題,請指教
Android 獲取手機系統資訊
log.e model build.model 獲取手機型號 log.e brand build.brand android系統定製商 log.e sdk build.version.sdk sdk版本 log.e sdk int string.valueof build.version.sdk i...
Android 日曆控制項 TimesSquare
android用法 1.先導入library包,可去github 裡面也有包含 2.新建專案把library新增到新專案中,編譯 3.當你看到 gen目錄下有了com.squareup.timessquare這個包時,說明library匯入編譯成功,這樣在新專案中就可以呼叫到calenderpick...
Android 手機替換系統應用
開發中我們一般使用debug的apk包,但是有時需要安裝release包,如果是普通的應用可以直接刪除,但是如果是系統應用則很難刪除,本文主要介紹在ubuntu系統下替換系統android手機中的系統應用。由於目前ubuntu系統預設的adb最高版本是adb v1.0.31,因此本文分兩個部分介紹如...