Android 判斷是否打開定位以及如何通過代碼進行跳轉到定位設置頁面

在開發(fā)過程中,我們可能會遇到要根據定位是否打開來進行一些操作邏輯,僅以記錄在開發(fā)道路上打怪:

邏輯如下:


    private final boolean isOPen(final Context context) {
        LocationManager locationManager
                = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
        // 通過GPS衛(wèi)星定位郭宝,定位級別可以精確到街(通過24顆衛(wèi)星定位,在室外和空曠的地方定位準確廷蓉、速度快)
        boolean gps = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
        // 通過WLAN或移動網絡(3G/2G)確定的位置(也稱作AGPS全封,輔助GPS定位。主要用于在室內或遮蓋物(建筑群或茂密的深林等)密集的地方定位)
        boolean network = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
        if (gps) {
            BKLogUtil.print("GPS已開啟");
        } else {
            BKLogUtil.print("GPS未開啟");
        }
        if (network) {
            BKLogUtil.print("網絡定位已開啟");
        } else {
            BKLogUtil.print("網絡定位未開啟");
        }
        if (gps || network) {
            return true;
        }
        return false;
    }

可以通過代碼跳轉到指定位置指引用戶打開對應設置:

    private final void openGPS(Context context) {
        Intent GPSIntent = new Intent();
        GPSIntent.setClassName("com.android.settings",
                "com.android.settings.widget.SettingsAppWidgetProvider");
        GPSIntent.addCategory("android.intent.category.ALTERNATIVE");
        GPSIntent.setData(Uri.parse("custom:3"));
        try {
            PendingIntent.getBroadcast(context, 0, GPSIntent, 0).send();
        } catch (PendingIntent.CanceledException e) {
            e.printStackTrace();
        }
    }


知識擴充:

PendingIntent

PendingIntent是Android平臺上的一個類桃犬,它包裝了一個Intent對象刹悴,并允許在稍后的時間點上執(zhí)行該Intent。它通常用于在應用程序的不同組件之間傳遞操作攒暇,或者在未來的某個時間點上執(zhí)行特定的操作土匀。

PendingIntent可以用于多種場景,包括但不限于:

通知:您可以在用戶點擊通知時創(chuàng)建一個PendingIntent形用,以便在用戶點擊通知時執(zhí)行特定的操作就轧,比如打開另一個Activity或者啟動Service证杭。

等待意圖:您可以創(chuàng)建一個PendingIntent,并在稍后的時間點上執(zhí)行妒御,比如在鬧鐘觸發(fā)時執(zhí)行某個操作解愤。

遠程視圖:在使用App Widget或者通知時,您可以使用PendingIntent來定義在用戶點擊Widget或通知時應該執(zhí)行的操作乎莉。

權限傳遞:PendingIntent允許您在不同應用程序或者應用程序組件之間傳遞權限送讲,以便在稍后的時間點上執(zhí)行一些受保護的操作。

使用PendingIntent通常涉及到以下步驟:

創(chuàng)建一個Intent對象惋啃,定義您想要執(zhí)行的操作哼鬓。
使用靜態(tài)方法PendingIntent.getActivity()、PendingIntent.getService()或者PendingIntent.getBroadcast()來創(chuàng)建一個PendingIntent對象边灭。
將PendingIntent對象傳遞給系統或者其他組件异希,以便在合適的時間點上執(zhí)行其中包裝的Intent。
總的來說存筏,PendingIntent提供了一種方便的方式來延遲執(zhí)行Intent宠互,以便在稍后的時間點上執(zhí)行某些操作。

(上述知識擴充內容解釋來自于GPT)

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末椭坚,一起剝皮案震驚了整個濱河市予跌,隨后出現的幾起案子,更是在濱河造成了極大的恐慌善茎,老刑警劉巖券册,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異垂涯,居然都是意外死亡烁焙,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門耕赘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來骄蝇,“玉大人,你說我怎么就攤上這事操骡【呕穑” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵册招,是天一觀的道長岔激。 經常有香客問我,道長是掰,這世上最難降的妖魔是什么虑鼎? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上炫彩,老公的妹妹穿的比我還像新娘匾七。我一直安慰自己,他們只是感情好媒楼,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布乐尊。 她就那樣靜靜地躺著,像睡著了一般划址。 火紅的嫁衣襯著肌膚如雪扔嵌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天夺颤,我揣著相機與錄音痢缎,去河邊找鬼。 笑死世澜,一個胖子當著我的面吹牛独旷,可吹牛的內容都是我干的。 我是一名探鬼主播寥裂,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼嵌洼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了封恰?” 一聲冷哼從身側響起麻养,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎诺舔,沒想到半個月后鳖昌,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡低飒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年许昨,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片褥赊。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡糕档,死狀恐怖,靈堂內的尸體忽然破棺而出拌喉,到底是詐尸還是另有隱情翼岁,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布司光,位于F島的核電站,受9級特大地震影響悉患,放射性物質發(fā)生泄漏残家。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一售躁、第九天 我趴在偏房一處隱蔽的房頂上張望坞淮。 院中可真熱鬧茴晋,春花似錦、人聲如沸回窘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽啡直。三九已至烁涌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間酒觅,已是汗流浹背撮执。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留舷丹,地道東北人抒钱。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像颜凯,于是被迫代替她去往敵國和親谋币。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內容