我有问题。我需要中断非静态链接,但用户将在运行时创建所有列表。所以我在运行时创建了我的intentfilter对象。因此,当我使用清单文件中的代码时,它可以工作。但是在java类中使用它对我来说不起作用。这是代码
这不起作用
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_VIEW);
filter.addCategory(Intent.CATEGORY_DEFAULT);
filter.addCategory(Intent.CATEGORY_BROWSABLE);
filter.addDataAuthority("www.facebook.com", null);
filter.addDataScheme("http");
RecieveBroadcaster receiver = new RecieveBroadcaster();
registerReceiver(receiver, filter);
但是如果静态设置它可以在清单
中使用 <intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="http" android:host="twitter.com"/>
<data android:scheme="http" android:host="facebook.com"/>
</intent-filter>
答案 0 :(得分:0)
在这种情况下,可能只是您的权限不匹配。在清单版本中,你有android:host =“facebook.com”,在程序版本中,你有addDataAuthority(“www.facebook.com”,null)
DataAuthority必须完全匹配。