Android中一个Activity多个intent-filter的调用方法
2013-03-08 14:43
405 查看
在Android中,Activity允许有很多种调用方式,其中一个方法是使用 <intent-filter>。
比如:
[html] view
plaincopy
<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
[html] view
plaincopy
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。
嗯嗯,记录一下,以后会经常把日常遇到的问题记下来,方便遇到同样问题的开发者们一起学习!
比如:
[html] view
plaincopy
<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
[html] view
plaincopy
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。
嗯嗯,记录一下,以后会经常把日常遇到的问题记下来,方便遇到同样问题的开发者们一起学习!
相关文章推荐
- Android中一个Activity多个intent-filter的调用方法
- Android与Unity交互调用mUnityPlayer.quit()方法退出返回上一个Activity界面
- PackageManager 的queryIntentActivities方法---获取AndroidMainfest.xml中注册了intent-filter action的Activity都可以被
- android之隐示意图--在一个 <intent-filter>意图中用两个action启动这个activity
- Android 一个Activity调用另一个Activity中的公有方法
- android之隐示意图--在一个 <intent-filter>意图中用两个action启动这个activity
- Android中一个Activity第二次启动时,onCreate()调用setContentView()方法时出错,程序崩溃
- android之隐示意图--在一个 <intent-filter>意图中用两个category启动这个activity
- android之隐示意图--在一个 <intent-filter>意图中用两个category启动这个activity
- android之隐示意图--在一个 <intent-filter>意图中用两个action启动这个activity
- android之隐示意图--在一个 <intent-filter>意图中用两个category启动这个activity
- Android中进入下一个Activity时在上一个Activity主动调用onDestroy()方法不会真正将上一个Activity从栈中删除
- Android中进入下一个Activity时在上一个Activity主动调用onDestroy()方法不会真正将上一个Activity从栈中删除
- android面试03--通过startActivity(intent)调用Activity中的方法与new Activity调用Activity中方法的区别
- Android 学习历程之二 如何在一个Service中调用Activity(Intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK))
- Android中一个Activity调用另一个Activity — Intent对象的使用
- Android中进入下一个Activity时在上一个Activity主动调用onDestroy()方法不会真正将上一个Activity从栈中删除
- 简述Android中Activity的启动(onCreate方法的调用)
- Android中使用Intent在Activity之间传递对象(使用Serializable或者Parcelable)的方法
- android 调用系统相机或者系统相册功能时,onActivityResult方法不执行问题的解决过程