Android 中一个 Activity 多个 intent-filter 的调用方法
在 Android 中,Activity 允许有很多种调用方式,其中一个方法是使用 <intent-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:host="www.google.com" android:path="m/products/scan" android:scheme="http" />
</intent-filter>
一开始我以为,在浏览器中键入 “http://www.google.com/m/products/scan” 就可以调用了的,结果发现浏览器只是正常打开它 T.T
后来发现,它的调用仍然需要使用 intent。
Uri uri = Uri.parse("http://www.google.com/m/products/scan");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
我是在一个 Button 的 onClick()
方法里写的这些代码,这样按这个按钮,就会调用所有符合要求的含有对应 <intent-filter>
的 Activity,在我的手机里,有 Chrome Beta、浏览器、快拍二维码、条码扫描器,以及我刚刚创建那个应用的 Activity。
嗯嗯,记录一下,以后会经常把日常遇到的问题记下来,方便遇到同样问题的开发者们一起学习!
好易思特 HAOest 官方网站今天正式改版上线!
2012-06-22
地址:http://www.haoest.com/
【已解决】Eclipse 代码提示不显示的问题
2012-03-23
前些时候重装了系统,在备份 Android SDK 和 Eclipse 的时候出了问题,然后只能重新下载,SDK 下得我都要吐血了,超慢。然后,我发现 Eclipse 有了新版本的,于是就下载了个新版的,结果出了问题了。所有的 Android 代码都没有了代码自动提示了,按 Alt+/,弹出的框里面什么也没有。苦恼了很久,以为是少装了些什么。网上也查了很久,无果。后来在“Windows/Preference/Java/Editor/Content Assist/Advanced”下面发现了些端倪,没有勾选 Java Proposals,我就很奇怪,然后打开室友的 Eclipse,他的版本跟我之前的版本是一样的,我发现,同样的地方,他选择的是 Java Proposals(Task-Focused),而 Java Proposals 也没有勾选。而我的新版本里面没有 Java Proposals(Task-Focused)。问题找到了,由于我的配置是使用的之前版本的配置,所以就导致了没有选中 Java Proposals,至于那个(Task-Focused)是什么,还没搞懂……不过,至少我的代码提示是回来了,哈哈哈!可以继续编程了!