我想实现intent-filter过滤到指定信息以后就打开一个指定activity,在manifest里面的写法我知道,就是:
- XML code
<activity android:name=".activity_name"> <intent-filter> 。。。。。。。 </intent-filter> </activity>
但我现在想更改在java代码中的Intent-Filter来实现这个功能
我只知道要
- Java code
IntentFilter filter = new IntentFilter(); filter.addAction("android.nfc.action.TECH_DISCOVERED");
别的应该怎么写呢?
------解决方案--------------------
一个intent filter是一个IntentFilter类的实例。但是,android系统必须在组件未启动的情况下就知道它的能力,因此intent filter一般不会在java代码中设置,而是在应用的manifest文件中作为<intent-filter>元素的方式声明。一个例外是,为broadcast receiver注册动态的filter,可以调用Context.registerReceiver()方法,通过直接实例化IntentFilter对象创建。
------解决方案--------------------
隐式意图 在使用广播接受者在java代码中创建时多会用到 隐式意图一般用在不同进程间传递消息,只要设置了相同的action和data就能启动打开其他应用程序