android api分析12 Intent实例

来源:互联网 发布:java大数类 编辑:程序博客网 时间:2024/05/16 08:38
Action属性

Category属性




MainActivity

public class MainActivity extends Activity{public final static String CRAZYIT_ACTION= "org.crazyit.intent.action.CRAZYIT_ACTION";@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);Button bn = (Button)findViewById(R.id.bn);//为bn按钮绑定事件监听器bn.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0){//创建Intent对象Intent intent = new Intent();//为Intent设置Action属性(属性值就是一个普通字符串)intent.setAction(CRAZYIT_ACTION);startActivity(intent);}});}}
main

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:gravity="center_horizontal"    android:orientation="vertical" >    <Button        android:id="@+id/bn"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="启动指定Action、默认Category对应的Activity" /></LinearLayout>
SecondActivity

public class SecondActivity extends Activity{@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.second);EditText show = (EditText)findViewById(R.id.show);//获取该Activity对应的Intent的Action属性String action = getIntent().getAction();//显示Action属性show.setText("Action为:" + action);}}

second

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:gravity="center_horizontal"    android:orientation="vertical" >    <EditText        android:id="@+id/show"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:cursorVisible="false"        android:editable="false"        android:text="第二个Activity" /></LinearLayout>

<activity android:name=".SecondActivity"
 android:label="@string/app_name">
<intent-filter>
<!-- 指定该Activity能响应Action为指定字符串的Intent -->
<action android:name="org.crazyit.intent.action.CRAZYIT_ACTION" />

<!-- 指定该Action能响应Category属性为指定字符串的Intent -->
<category android:name="android.intent.category.DEFAULT" />   
</intent-filter>

</activity>


<intent-filter...>子元素用于配置该Activity所能响应的Intent
它可包含如下子元素
0~N个<action.../>子元素 当包含多个子元素时 表明Activity能响应Action属性为其中任意一个字符串的Intent
0~N个<category.../>子元素
0~1个<data.../>子元素

一个Intent最多只能包含一个Action属性 但可包含多个Category属性


0 0
原创粉丝点击