簡體   English   中英

如何通過 Intent 在設置中打開 android 默認應用程序活動?

[英]How to open android default apps activity in setting via Intent?

如何通過 Intent 打開 android 設置中的默認處理程序頁面? 或者我們如何才能直接打開默認的短信頁面?

在此處輸入圖像描述

似乎從 android Q 到上層我們不能Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT

找到答案,您可以通過以下代碼打開此頁面:

//This code will work only on android version N and above
//Add if condition to prevent crash on older devices

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        Intent intent = new Intent(Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        if (requestCode != -1)
             act.startActivityForResult(intent, requestCode);
        else
             act.startActivity(intent);
    }

使用此代碼打開意圖默認應用程序的另一種方法,在這種情況下,我嘗試設置默認啟動器應用程序

// dialog set default app
@RequiresApi(Build.VERSION_CODES.Q)
private fun showLauncherSelection() {
    val roleManager = this.getSystemService(Context.ROLE_SERVICE)
            as RoleManager
    if (roleManager.isRoleAvailable(RoleManager.ROLE_HOME) &&
        !roleManager.isRoleHeld(RoleManager.ROLE_HOME)
    ) {
        val intent = roleManager.createRequestRoleIntent(RoleManager.ROLE_HOME)
        startActivityForResult(intent,0)
    }
}

您可以在此Role Manager之后更改ROLE_HOME來設置其他默認應用程序。 如果要更改短信默認應用,請嘗試將ROLE_HOME更改為ROLE_SMS

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM