当前位置: 首页 > 知识库问答 >
问题:

Android USB附件意图过滤器,不希望它自动启动应用程序

吕征
2023-03-14

我正在尝试在我的应用程序中使用USB附件。它很好用,但是我有一个问题。

如果我将USB_ACCESSORY_ATTACHED意向过滤器放在清单中,那么当设备插入时,应用程序会自动启动。这很好,但有时当我拔下设备并将其重新插入时,应用程序会再次启动。

好吧,我真的不希望它自动启动,所以我删除了意图过滤器。删除意图过滤器效果最好,但它每次都会请求用户权限,并忽略“默认用于此USB配件”复选框。

有没有办法使用意图过滤器而不让应用程序自动启动?

当我已经有一个应用在运行时,为什么我的应用会自动启动?

谢谢

共有1个答案

轩辕实
2023-03-14

我可以通过更改清单中活动的android:launchMode设置来阻止应用程序在USB连接时再次启动。

我把launchMode改成了“singleTop”。

所有讨论Android附件和意图过滤器的教程,都没有提到启动模式设置。当它对Android附件和意图过滤器的工作方式产生重大影响时,这似乎是对包括谷歌在内的所有编写这些教程的人的明显疏忽。

 类似资料:
  • 我正在开发一个连接到平板电脑时与USB设备通信的应用程序。为了避免用户接受android访问设备,我设置了一个意图过滤器: 我的问题是,有了这个意图过滤器,每次我插入设备并启动另一个活动时都会调用“onCreate”方法,如果没有意图过滤器,它只会被调用一次。这是“onCreate”方法: 广播接收机: 简单连接到设备的“setDevice”方法: 为什么?

  • 我正在开发一个Spring启动应用程序。我想通过请求正文字段“Id”修改请求的响应。 我已经实现了下面的代码,但是在实现的时候输出的仍然只是名字。任何关于实施以下内容的建议都会有所帮助: 下面是请求体: 作为响应,我想将该字段附加到响应id(来自请求正文的字段名)。响应体: MyCustomFilter: 我的请求包装: MultiReadHttpServletRequest.java { } 感

  • 上面的代码行是在我的Android库项目中,因为我不知道在这个地方我的主要活动的类。 当在测试设备上通过USB接口部署应用程序时,这就像是一种魅力,但当在4.3设备上安装谷歌Play的应用程序时,就会出现这种错误。 <罢工> 07-03 13:54:19.843:E/DatabaseUtils(2344):向包写入异常07-03 13:54:19.843:E/DatabaseUtils(2344)

  • 嗨,我正在学习Spring安全,我被困在自定义认证过滤器中。我有以下文件:主应用程序文件: : 我的安全配置文件安全: 最后我的CustomAuthentication filter文件:< code > customauthenticationfilter . Java : 因此,我已经将<code>attemptAuthentication</code>方法放在日志中,但似乎请求没有到达那里。

  • 我试图通过使用Micrsoft图形按名称获取SharePoint库。 以下查询返回两个库(更准确地说,是驱动器)的名称:https://graph.microsoft.com/v1.0/sites/SiteID/drives?$select=name, id 结果: 为了只返回一个名称,我做了这样的$filter https://graph.microsoft.com/v1.0/sites/Sit

  • autoFilter(string $range): self string $range $config = ['path' => './tests']; $excel = new \Vtiful\Kernel\Excel($config); ​ $filePath = $excel->fileName("tutorial.xlsx") ->header(['name', 'age'