Android的權(quán)限設(shè)置及自啟動(dòng)設(shè)置方法
在開(kāi)發(fā)項(xiàng)目中,遇到了兩大麻煩:
1、涉及到的系統(tǒng)的權(quán)限較多(拍照、錄音、定位、撥號(hào)等)。
對(duì)于這點(diǎn),有很多人會(huì)拒絕這些權(quán)限,那就尷尬了,他們又不懂只會(huì)跟我們反應(yīng)這什么破app,這個(gè)不好用,那個(gè)不好使,更可惡的是不同手機(jī)的系統(tǒng)設(shè)置都長(zhǎng)不一樣,根本就不好跟他們講在那里進(jìn)行設(shè)置。于是想到解決的辦法就是:在app中添加一個(gè)設(shè)置權(quán)限按鈕讓app直接跳到它的權(quán)限設(shè)置界面,這就方便多了。代碼段如下:
/** * 跳轉(zhuǎn)到權(quán)限設(shè)置界面 */ private void getAppDetailSettingIntent(Context context){ Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); if(Build.VERSION.SDK_INT >= 9){ intent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS"); intent.setData(Uri.fromParts("package", getPackageName(), null)); } else if(Build.VERSION.SDK_INT <= 8){ intent.setAction(Intent.ACTION_VIEW); intent.setClassName("com.android.settings","com.android.settings.InstalledAppDetails"); intent.putExtra("com.android.settings.ApplicationPkgName", getPackageName()); } startActivity(intent); }
2、對(duì)實(shí)時(shí)推送消息的要求很高。
就這個(gè)問(wèn)題,對(duì)于菜鳥(niǎo)的我來(lái)講真的是好頭大…有很多客戶反應(yīng)app在后臺(tái)運(yùn)行運(yùn)行就死了,通知收不到了。
經(jīng)過(guò)了我一番搜索后,稍微有點(diǎn)成果。
首先,最基本的要保證service不容易被殺掉:1、將service優(yōu)先級(jí)調(diào)到最大;2、在onDestroy()中自啟。
<intent-filter android:priority="1000">
其次,在AndroidManifest.xml文件里將persistent設(shè)置為true。
最后,就是將app設(shè)置為允許自啟動(dòng)。(就這個(gè)!我頭很大?。?/p>
這里我想著和設(shè)置權(quán)限一樣,直接點(diǎn)擊一個(gè)按鈕直接跳到自啟動(dòng)管理頁(yè)面,然而網(wǎng)上搜了很久都沒(méi)有找到這個(gè)統(tǒng)一的Intent。
而是通過(guò)執(zhí)行這個(gè)指令 adb shell dumpsys activity top來(lái)捕捉當(dāng)前的Activity。然后app可以通過(guò)指定的ComponentName來(lái)進(jìn)行跳轉(zhuǎn)。
例如:我用的是紅米note3
紅米note3系統(tǒng)設(shè)置中自啟動(dòng)管理的頁(yè)面:
com.miui.securitycenter/com.miui.permcenter.autostart.AutoStartManagementActivity
于是可以通過(guò)下面的代碼段來(lái)進(jìn)行頁(yè)面跳轉(zhuǎn)進(jìn)行設(shè)置:
private void selfStartManagerSettingIntent(Context context){ String system = EquipmentSystemUtils.getSystem(); Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); ComponentName componentName = new ComponentName("com.huawei.systemmanager","com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity"); intent.setComponent(componentName); try{ context.startActivity(intent); }catch (Exception e){//拋出異常就直接打開(kāi)設(shè)置頁(yè)面 intent=new Intent(Settings.ACTION_SETTINGS); context.startActivity(intent); } }
然而別的系統(tǒng)是啥,公司太寒酸了,沒(méi)有別的安卓機(jī)。。。求各位好心的大神提供一下。。。
目前知道的:
/** * 跳轉(zhuǎn)到自啟動(dòng)頁(yè)面 * * 華為 com.huawei.systemmanager/com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity * 小米 com.miui.securitycenter/com.miui.permcenter.autostart.AutoStartManagementActivity * vivo com.iqoo.secure/.ui.phoneoptimize.AddWhiteListActivity * oppo com.coloros.oppoguardelf/com.coloros.powermanager.fuelgaue.PowerUsageModelActivity * */
還有很多常見(jiàn)的系統(tǒng)都母雞了,也不知道有沒(méi)有別的簡(jiǎn)潔的方法。。。
以上這篇Android的權(quán)限設(shè)置及自啟動(dòng)設(shè)置方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- android開(kāi)機(jī)自啟動(dòng)原理與實(shí)現(xiàn)案例(附源碼)
- android開(kāi)機(jī)自啟動(dòng)apk的方法
- android開(kāi)機(jī)自啟動(dòng)APP及使用adb命令測(cè)試方法
- Android 代碼設(shè)置開(kāi)機(jī)自啟動(dòng)App的方法
- Android開(kāi)機(jī)自啟動(dòng)服務(wù)的實(shí)現(xiàn)方法
- android開(kāi)機(jī)自啟動(dòng)app示例分享
- Android應(yīng)用實(shí)現(xiàn)安裝后自啟動(dòng)的方法
- android引導(dǎo)用戶開(kāi)啟自啟動(dòng)權(quán)限的方法
- Android開(kāi)機(jī)自啟動(dòng)程序詳解
- android studio開(kāi)發(fā)實(shí)現(xiàn)APP開(kāi)機(jī)自啟動(dòng)
相關(guān)文章
Android 開(kāi)發(fā)之dataBinding與ListView及事件
這篇文章主要介紹了Android 開(kāi)發(fā)之dataBinding與ListView及事件的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10Android Native 內(nèi)存泄漏系統(tǒng)化解決方案
這篇文章主要介紹了Android Native 內(nèi)存泄漏系統(tǒng)化解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Android ExpandableListView展開(kāi)列表控件使用實(shí)例
這篇文章主要介紹了Android ExpandableListView展開(kāi)列表控件使用實(shí)例,本文實(shí)現(xiàn)了一個(gè)類(lèi)似手機(jī)QQ好友列表的界面效果,需要的朋友可以參考下2014-07-07Android用戶輸入自動(dòng)提示控件AutoCompleteTextView使用方法
這篇文章主要為大家詳細(xì)介紹了Android用戶輸入自動(dòng)提示控件AutoCompleteTextView的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08Android 購(gòu)物車(chē)加減功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android 實(shí)現(xiàn)購(gòu)物車(chē)加減功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04Android開(kāi)發(fā)使用strings.xml多語(yǔ)言翻譯解決方案
這篇文章主要為大家介紹了Android開(kāi)發(fā)使用strings.xml多語(yǔ)言翻譯解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06