Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
意图过滤器:如何为所有Android版本创建过滤器(因为制造商更改了它)_Android_Android Intent_Intentfilter - Fatal编程技术网

意图过滤器:如何为所有Android版本创建过滤器(因为制造商更改了它)

意图过滤器:如何为所有Android版本创建过滤器(因为制造商更改了它),android,android-intent,intentfilter,Android,Android Intent,Intentfilter,我想建立一个应用程序,将内容服务于其他应用程序 以为例: 使用本机消息传递应用程序附加来自我的提供商的图像 为了成为一个提供者,我注册了一些意图过滤器。我将动作“获取”内容与图像/MIME类型一起使用* 我注意到,在某些设备中,从“使用完成操作”对话框中的列表中选择应用程序时,这一点与预期一样有效 然而,一些制造商显然没有遵守谷歌的“建议” 我们如何才能注册那些没有注册的 我假设其中一些使用隐式意图调用,是否也可以拦截 另一方面,如果明确提出这些意图,是否可以“截取”它们并显示“使用”对话框完

我想建立一个应用程序,将内容服务于其他应用程序

为例:

使用本机消息传递应用程序附加来自我的提供商的图像

为了成为一个提供者,我注册了一些意图过滤器。我将动作“获取”内容与图像/MIME类型一起使用*

我注意到,在某些设备中,从“使用完成操作”对话框中的列表中选择应用程序时,这一点与预期一样有效

然而,一些制造商显然没有遵守谷歌的“建议”

我们如何才能注册那些没有注册的

我假设其中一些使用隐式意图调用,是否也可以拦截

另一方面,如果明确提出这些意图,是否可以“截取”它们并显示“使用”对话框完成操作?

1)如果您的问题是“如何截取具有不同(非标准名称)的意图”,则可以使用来查找所需的意图设置

2) 如果你的问题是“如何拦截非被拦截的活动”,我很抱歉你不能

我使用了(1)种方法来了解如何拦截Google-android-2.2-calendar-show-event,该事件在4.0之前的版本中不受官方支持,但有效(至少在我的手机上)


我对Google-android-4.4-calendar-show-event有(2)个问题“应该是可拦截的,但不是。它在4.4之前的版本中是可拦截的。

根据我的经验,大多数时候我们不得不接受这些差异。如果原始设备制造商把事情搞砸了,我们也无能为力。在编写应用程序时,要考虑到它应该如何工作,并且只有当你的目标受众中有相当一部分人拥有“受影响”的设备时,才会例外。我使用该应用程序来检查隐含的意图,但没有任何运气。“完成操作”对话框不显示,目标活动立即打开。我可以安全地假设在这些情况下,使用自定义设置(操作、mime类型、类别等)显式或隐式调用了意图吗?如果您的意思是“但没有运气”,则
意图拦截
不会打开:我假设可能无法拦截,或者用户已按下“完成行动对话”。如果我错了,请纠正我(我可以从我的回答中解决问题(2)。是的,它不会与您指出的应用程序一起打开。默认值不会像往常一样设置。排除可能性,我们似乎有两种可能性:显式意图或隐式意图与自定义设置。同意吗?