Intent使用

intent 是一种消息传递的机制。可以在应用程序内使用,也可以在应用程序间使用。

1:使用Intent来启动Activity

intent 最常见的用途就是绑定程序间的控件,并在应用程序间进行通信。Intent用来启动Activity,允许创建不同屏幕的一个工作流。

    要显示的启动Actiivyt类,可以创建一个新的Intent来指定当前Activity的上下文以及需要启动的Activity类。然后把这个传递给startActivity();

Intent intent = new Intent(this, OtherActivity. class);

       startActivity(intent);

2:隐士的Activity和运行时迟绑定

   隐士的Intent提供了一种机制,可以让匿名的应用程序组件响应动作请求。这意味着可以要求系统启动一个可执行给定动作的activity,而不必知道需要启动那个应用程序或Activity。

例如:如果希望用户从程序中打电话,那么可以实现一个新的拨号程序,也可以使用intent请求在一个电话号码上执行动作

Intent phoneIntent = new Intent("android.intent.action.CALL",Uri.parse("tel:" + 2708025)); 

startActivity(phoneIntent);

3:从activity返回结果

通过StartActivity启动的Activity独立于其父Activity,并且在关闭时不会提供任何反馈。当需要反馈的时候可以启动一个Activity作为另一个Activity的子Activiy。用它向父Activity传递结果。子Activity只是以一种不同的方士启动的Activity,因此,必须在应用程序的manifest文件中进行注册他们。

在onClick事件中通过startActivityForResult(Intent intent)启动子Activity

通过onAcitivityReuslt(int requestCode,int resultCode,Intent data);这个方法处理子类Activity返回的值。

在调用finish以前调用setResult()以便向Activity返回结果。

通过setResult(int resultCode,Intent data);方法返回给onAcitivityReuslt(int requestCode,int resultCode,Intent data)方法的data数据以及resultCode值;

 

想要学习更多关于android开发方面的知识,请关注微信订阅号:android_develop

猜你喜欢

转载自wangjunbao0818.iteye.com/blog/2088110