菜鸟的安卓实习之路---Intent的几个用处

Intent意图:先说一个A应用程序想使用B应用程的某个某个Activity的方法。,作为信使的Intent主要由三部分构成:Intent<Action,Data,Category>;

  1. Intent i = new Intent();  
  2. ComponentName cn = new ComponentName("com.example.b",  
  3. "com.example.b.BActivity");  
  4. i.setComponent(cn);  
  5. startActivity(i); 
就是这儿简单,前提A已经安装。

另外最常用的就是实现不同的活动之间的跳转,启动服务,发送广播,实现方式如下:
  • 通过Context.startActivity() orActivity.startActivityForResult() 启动一个Activity;
  • 通过 Context.startService() 启动一个服务,或者通过Context.bindService() 和后台服务交互;
  • 通过广播方法(比如 Context.sendBroadcast(),Context.sendOrderedBroadcast(),  Context.sendStickyBroadcast()) 发给broadcast receivers

intent 可以存储一个bundle来在不同的Activity之间传送信息,传送结果。

关于Action
intent中ACTION的值是双向的,发送方发给接受方中的ACTION值能够被双方了解;这样在发送方中,自定义ACTION的值;在接受方中,Intent-filter中的ACTION值要与自定义的值相同,这样才能够正确接受Intent
举个例子一下明白:

在A的java中定义ACTION的值,并将其发送出去,如下
public static final String myACTION="B.ACTION";
Intent intent=new Intent(myACTION);
startActivity(intent);
 
在B中的Androidmanifest.xml文件中,添加如下activity的intent-filter
<intent-filter>
<action android:name="B.ACTION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>

其他的实在不好记,用的时候再说吧。

你可能感兴趣的:(android,intent)