簡體   English   中英

Android Intent 過濾器隱藏特定類別的活動

[英]Android Intent Filter Hide Activities with Certain Category

是否可以創建一個顯示應用程序抽屜中但不是主屏幕應用程序(例如 GoLauncher)的活動的意圖,即它隱藏某個類別?

        final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
        mainIntent.removeCategory(Intent.CATEGORY_HOME); //Doesn't work
        mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
        [...]
        apps = packageManager.queryIntentActivities(mainIntent, 0);

使用此代碼,它們仍然會被列出...

不,抱歉,沒有帶有Intent “非”運算符。

接受的答案僅在字面意義上有效。 雖然您不能使用Intent.CATEGORY_HOME排除項目,但您可以從結果中過濾它們。 這是一個 kotlin 示例 -

    val packages = packageManager.queryIntentActivities(
        mainIntent, PackageManager.GET_RESOLVED_FILTER)
    packages.removeIf { item -> null != item.filter
            && item.filter.hasCategory(Intent.CATEGORY_HOME) }

暫無
暫無

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

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