删除 Activity 作为默认启动器

2023-11-23

我将我的活动设置为默认启动器来拦截主页按钮点击,如下所示:

<activity
    android:name=".ExampleActivity"
    android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        <category android:name="android.intent.category.HOME" />        
        <category android:name="android.intent.category.DEFAULT" />               
    </intent-filter>
</activity>

When my activity, ExampleActivity is launched, if i click the home key, I get prompted to choose. If I select make this my default and chose my activity, I am stuck In my activity as desired.

问题是,当我离开活动时,我尝试从默认启动器中删除我的活动,但没有成功。

我努力了:

ComponentName componentName = new ComponentName( 
                    "com.example.exampleactivity", 
                    "com.example.exampleactivity.class");

pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, PackageManager.DONT_KILL_APP);

And:

PackageManager pm = getActivity().getPackageManager();
             ComponentName name = new ComponentName(this, "com.example.exampleactivity.class");
             pm.setComponentEnabledSetting(name, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);

But my designation for the home is never removed.

有人有解决上述问题的工作方法吗?

我只希望主页按钮成为特定活动的默认按钮,而不是整个应用程序的默认按钮。当我离开活动时,它应该被删除并恢复为默认值。


如果您要清除的是您的应用程序的默认设置,您只需调用:

getPackageManager().clearPackagePreferredActivities(getPackageName());

然后,为了显示选择使用哪个启动器的对话框,请使用:

final Intent intent=new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除 Activity 作为默认启动器 的相关文章

随机推荐

  • 在 PHP 中生成 OAuth 1 签名

    我正在尝试连接到LivePerson 参与历史 API我遇到了一个我认为与生成的签名有关的问题 首先 API 已经提供了必要的消费者密钥 消费者秘密 访问令牌和令牌秘密 所以我不必经历检索这些的过程 为了访问他们的 API 我只需要提供 a
  • 实体类名转换为带下划线的SQL表名

    我定义了以下实体 Entity Table name EmailTemplate public class EmailTemplate 尽管有表格注释 我还是收到了java sql SQLException Invalid object n
  • 如果镜像输入数据,XSL 文档会是什么样子?

    XSL 的典型用法是 XML1 xml gt transformed using xsl gt XML2 xml 如果我想简单地镜像输入数据 XSL 文档是什么样子的 ex XML1 xml gt transformed using xsl
  • 如何配置Clion编译gtkmm项目

    我从 GTK 复制了一个示例项目 include
  • hyperledger Fabric - 如何删除对等点上的链码?

    我安装了两个chaincode在对等点上 basic network master bin peer chaincode list installed 2018 06 25 10 37 44 825 CST msp GetLocalMSP
  • 基于颜色python的物体边界框

    我尝试在这张图片中的每个对象上绘制一个边界框 我写了这段代码文档 import cv2 as cv2 import os import numpy as np img cv2 imread 1 2 png img cv2 cvtColor
  • GetTickCount() 是否包括暂停或休眠的时间?

    为了澄清 我的意思是花在system被挂起 休眠 而不是调用线程 GetTickCount 返回自系统启动以来的毫秒数 据我所知 GetTickCount与线程无关 它统计系统启动以来的时间 但最好使用获取TickCount64以避免 49
  • InstallShield Basic MSI 项目通过命令行 IsCmdBld.exe 生成新的 GUID

    我有一个 Installshield 项目 ism 我希望能够通过命令行运行它 有一种可能的方法可以通过 CommadnLine 使用 IsCmdBld exe 生成新的产品代码 注意 不能使用其他构建软件 提前致谢 正如 Steve 提到
  • 哪些Android Fragment生命周期方法需要super

    目前 Android API 17 唯一提到的是super在安卓中片段参考是随意通过一些代码示例 不像Android活动参考 它仔细地记录了哪里super是必须的 所以建议搜索网络根据需要 或等待崩溃 以确定调用的位置super是必须的 我
  • 将熊猫切割后的垃圾箱分类

    使用熊猫cut我可以通过提供边缘来定义垃圾箱 并且 pandas 创建垃圾箱 例如 a b 我的问题是如何对垃圾箱进行排序 从最低到最高 import numpy as np import pandas as pd y pd Series
  • IE9 中缩小后的图像质量较差

    我注意到 IE9 以非常低的质量渲染缩小尺寸的图像 如果我在 200x150 IMG 标签中显示 800x600 jpg 图像 则 IE9 中的结果非常令人失望 同一页面在 IE8 和 Chrome 中显示完美 IE7也可以 只要我用CSS
  • linq where 列表包含列表中的任何内容

    使用 linq 如何检索其属性列表与另一个列表匹配的项目列表 以这个简单的例子和 伪代码为例 List
  • :app:assembleRelease 和 assembleRelease 之间的区别

    我的 android 项目中有多个模块 如果我制作一个发行版APK app assembleRelease它可以工作 但是当我用以下命令发布 apk 时assembleRelease它一直显示错误 我知道我的代码中有错误 但这不是我要质疑的
  • 为什么 Haskell 中不需要工厂模式? OOP 中的模式解决的需求在 Haskell 中是如何解决的?

    我读了这个问题有关抽象工厂模式 但唯一的答案是尝试emulate在 Haskell 中就像在 OOP 语言中一样 尽管前言是这样的在 Haskell 中你不需要它 另一方面 我的目的并不是要在像 Haskell 这样的函数式语言上强制采用特
  • 如何在youtube embed api中监听seek事件

    您好 我正在使用 youtube iframe 嵌入 API 我想跟踪用户的搜索视频事件 请帮助我如何跟踪这个 没有简单的方法可以单独使用 api 来跟踪事件 你可以做的是间隔运行一个javascript函数并检查测量的时间差是否与预期的不
  • Rails 可选 /:locale 路线

    我正在尝试为我的 Rails 应用程序设置一个路由系统 该系统允许将可选路由 locale 允许到网站的底部 所以或多或少 en home 将转到与 home 相同的页面 en people gt people 我遇到的唯一问题是在路由配置
  • GoogleCertificatesRslt:Kotlin Android 应用程序中不允许

    我正在开发一个使用 Kotlin 作为开发语言的 Android 应用程序 该应用程序显示地图并应该加载标记 但是 地图会加载 但标记不会加载 我收到安全异常GoogleCertificatesRslt not allowed我发现这可能是
  • 检测前景窗口何时发生变化

    我知道哪个使用GetForegroundWindow函数我可以获取当前活动窗口句柄 但是现在i want to detect when the active window of any application changes become
  • QTabWidget 大小取决于当前选项卡

    I ve a QTabWidget 其中包含不同高度的小部件 它们的宽度是固定的 但是 默认实现QTabWidget选择最大的部件的高度作为自己的高度 我想知道是否有一种 可能快速 的方法来改变大小QTabWidget取决于其当前选项卡 以
  • 删除 Activity 作为默认启动器

    我将我的活动设置为默认启动器来拦截主页按钮点击 如下所示