android8.0應用程式更新
第一步,檢視是否具有未知**應用安裝許可權
通過許可權檢查,我們可以得知自己的手機是否有未知**應用安裝許可權,以及獲取手機狀態資訊許可權。(可能會在或許線上版本時用到)
第二步, 獲取本地版本號與線上版本號獲取線上版本號,versioncode
//獲取本地版本
private
void
getlocalversioncode()
catch
(packagemanager.namenotfoundexception e)
}
第三步,通過版本號對比是否有新版本
//檢查是否有新版本
private
boolean
compareversion()
string[
] newv = temp.
split
("\\.");
string[
] localv = localversion.
split
("\\.");
int itotal = newv.length > localv.length ? newv.length : localv.length;
for(
int i =
0; i < itotal; i++)}
return hasnewversion;
}
第四步,彈出更新視窗
private
void
shownormaldialog()
});}
else})
; normaldialog.
setnegativebutton
(getstring
(r.string.update_cancelbtn)
,new
dialoginte***ce.onclicklistener()
});}
// 顯示
normaldialog.
show()
;}public
class
public
void
downloadapk
(string apkurl,string title,string desc)
downloadmanager.request request =
newdownloadmanager.request
(uri.
parse
(apkurl));
//設定title,檔名
request.
settitle
(title)
;//設定新版本描述
request.
setdescription
(desc)
;//完成後顯示通知欄
request.
setnotificationvisibility
(downloadmanager.request.visibility_visible_notify_completed)
; request.
setdestinationinexternalfilesdir
(weakreference.
get(
),environment.directory_downloads,
"test.apk");
request.
setmimetype()
; mreid = mdownloadmanager.
enqueue
(request);}
//更新完成通知廣播
class
downloadreceiver
extends
broadcastreceiver}}
//應用程式安裝
public
void
installapk
(context context)
}catch
(exception e)
}public
void
cancel()
public
void
resume()
public
void
onpause()
}使用fileprovider的檔案配置方法
android8 0適配工作
整個8.0適配,設計的部分包括6部分 我專案中的,其他的適配感覺並不會影響專案的執行 1 執行時許可權 2 通知notifaction適配 3 未知 apk安裝適配 4 後台執行限制 後台服務 5 懸浮框適配 6 集合的處理 abstractcollection使用限制 android6.0的執行時...
Android應用程式更新或公升級
1 android系統應用更新機制 系統為每個應用在androidmainfest.xml提供了versionname versioncode兩個屬性。versionname string型別,用來給應用的使用者來檢視版本,代表應用程式的版本資訊,需要顯示給使用者。與versioncode一樣,系統...
Android 8 0後台執行限制
android o 對應用在後台執行時可以執行的操作施加了限制,稱為後台執行限制 background execution limits 這可以大大減少應用的記憶體使用和耗電量,提高使用者體驗。後台執行限制分為兩個部分 後台服務限制 background service limitations 廣播...