安卓覆盖显式意图

4

我的应用程序需要具有一个 intent-filter,以响应已设置其组件的 Intent(即显式意图)。以下是一个例子。

Intent i = new Intent();
i.setClassName("com.compareeverywhere","com.compareeverywhere.ScanActivity");
startActivity(i);

仅仅使用一个简单的intent-filter是不够的 - 因为Intent是为特定组件(Activity)设计的,它只会启动该组件而不会查找任何意图。有没有办法解决这个问题呢?
谢谢,Isaac Waller
P.S:请不要回复“不行”。


我不是很确定你想要实现什么,Isaac。你能否进一步解释一下你需要 Intent-Filter 做什么? - Reto Meier
1个回答

12

不可以。

想象一下,如果Android允许人们劫持意图(Intents)用于特定组件会发生什么。不喜欢竞争对手的应用?只需让您的应用劫持他的主Activity并显示色情内容。意图可以明确指定特定组件,是因为作者不希望其他人能够替换它们。

您有两个选择。如果这是您自己的代码,请将其替换为通用意图;如果它属于其他人,请与他们联系,并礼貌地要求他们将其更改为通用意图,同时解释一些好的理由。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接