Intent的启动
<div style="font-size: 14px"></div>
显示意图启动
public void explicit(View view){//1).先创建意图对象然后制定开启的activityIntent intent = new Intent();//1.使用当前环境intent.setClass(this, otherActivity.class);//2.指定包名和类名intent.setClassName("com.zls.intentabout", "com.zls.intentabout.otherActivity");//3.包名用this代替intent.setClassName(this, "com.zls.intentabout.otherActivity");//2)创建意图的时候直接指定Intent intent = new Intent(this, otherActivity.class);startActivity(intent);}
public void implicit(View view){/* 打电话Intent intent = new Intent();intent.setAction(Intent.ACTION_CALL);intent.setData(Uri.parse("tel:18600012345"));startActivity(intent); *//* 打开网页Intent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);intent.setData(Uri.parse("http://www.baidu.com"));startActivity(intent); *//*打开图片Intent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);intent.setDataAndType(Uri.parse("file://mnt/sdcard/img.jpg"), "image/*");startActivity(intent);*//*打开音乐Intent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);intent.setDataAndType(Uri.parse("file://mnt/sdcard/mu.mp3"), "audio/*");startActivity(intent);*//*打开视频Intent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);intent.setDataAndType(Uri.parse("file://mnt/sdcard/di.mp4"), "video/*");startActivity(intent); */}
public void sendData(View view){Intent intent = new Intent(this,otherActivity.class);//1.形式一intent.putExtra("name", "张三");intent.putExtra("age", 20);//2.形式二Bundle b1 = new Bundle();b1.putInt("age", 20);b1.putString("name", "张三");intent.putExtra("b1", b1);startActivity(intent);// 开启Activity,不接受返回的数据//startActivityForResult(intent, 100);// 开启Activity, 并接收返回的数据(在新Activity关闭的时候执行onActivityResult方法)100是请求码}
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {String name = data.getStringExtra("name");int age = data.getIntExtra("age", -1);super.onActivityResult(requestCode, resultCode, data);}
public class otherActivity extends Activity {//第一种Intent intent = getIntent();//String name = intent.getStringExtra("name");//Integer age = intent.getIntExtra("age", -1);//第二种Bundle b1 = intent.getBundleExtra("b1");String name = b1.getString("name");Integer age = b1.getInt("age");}
<activity android:name=".otherActivity" android:label="新的Activity" > <intent-filter > <action android:name="android.intent.action.CALL" /> <action android:name="android.intent.action.VIEW" /> <data android:scheme="tel" /><data android:scheme="http" /><data android:scheme="file" android:mimeType="image/*" /><data android:scheme="file" android:mimeType="audio/*" /><data android:scheme="file" android:mimeType="video/*" /><category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>