Intent 应用

来源:互联网 发布:mac hosts文件位置 编辑:程序博客网 时间:2024/06/08 02:43

在android中,intent的使用有两种方式:一种为显式使用,一种是隐式。

显式使用的一种方式是通过Intent 直接定义跳转Activity的对象,例如:

Intent i = new Intent(Activity.this,Activity.class);

隐式使用时在AndroidManifest.xml 中声明Activity 的标签中设置子标签:

<intent-filter>   <category name="android.intentcategory.DEFAULT"/>   <action name="com.example.intent.action.acitivityb" /></intent-filter>

然后在ActivityA中调用

startActivity(new Intent("com.example.intent.action.activityb"));

隐式使用Intent 有一个优势就是可以启动其他应用程序中的Activity,而在显式使用Intent是达不到这种效果的

如果希望应用程序的Activity不能被其他应用程序访问的话,可以在<activity>标签里边添加一个属性,anddroid:exported="false" 即可


如果多个activity使用相同的action,可以在intent-filter中添加一个属性

<data android:scheme:"app"/>

启动intent 的方法为:

startActivity(new Intent("com.example.intent.action.activityb",Uri.parse("app://params")))

通过点击浏览器连接启动本地Activiy的方法:

在AndroidManifest.xml中的activity便签里添加

<category name="android.intent.category.BROWSABLE"/><category name="android.intent.category.DEFAULT"/><action name="android.intent.action.VIEW"/><data scheme="app"/>

然后通过手机浏览器连接:app::params 可以打开activity

在activity 中通过以下代码访问参数:

Uri uri = getIntent().getData();




0 0
原创粉丝点击