【安卓小笔记】Intent的用法

一、Intent可以从一个Activity跳转到下一个Activity

1.显示Intent:

添加第一个Activity的Button的点击事件

button1.setOnClickListener(new View.OnClickListener(){

public void onClick(View v){

Intent intent = new Intent( 第一个Activity.this,第二个ACtivity.class);

startActivity(intent);

}

};

2.隐式Intent:

在AndroidManifest.xml中添加第二个Activity的<intent-filter>的内容

<activity android:name = ".SecondActivity">

<intent-filter>

<action android:name = "字符串(一般以包名+action名)"/>

<category android:name = "android:intent.category.DEFAULT"/>

</intent-filter>

</activity>


添加第一个Activity的Button的点击事件

button1.setOnClickListener(new View.OnClickListener(){

public void onClick(View v){

Intent intent = new Intent(“添加在manifest的action的字符串”);

//也可以添加category.在manifest中也要添加一个<category>

//intent.addCategory(“字符串”);

startActivity(intent);

}

};

3.更多的intent的用法:

1)调用系统浏览器进入网页:

添加一个Activity的Button的点击事件

button1.setOnClickListener(new View.OnClickListener(){

public void onClick(View v){

Intent intent = new Intent(Intent.ACTION_VIEW);

intent.setData(Uri.parse("http://www.youkuaiyun.com"));

startActivity(intent);

}

};

2)进入拨号界面

添加一个Activity的Button的点击事件

button1.setOnClickListener(new View.OnClickListener(){

public void onClick(View v){

Intent intent = new Intent(Intent.ACTION_DIAL);

intent.setData(Uri.parse("tel:10086"));

startActivity(intent);

}

};

二、传递数据:

1.向下一个Activity传递数据:

添加第一个Activity的Button的点击事件:

button1.setOnClickListener(new View.OnClickListener(){

public void onClick(View v){

String data = "From FirstActivity"

Intent intent = new Intent( 第一个Activity.this,第二个ACtivity.class);

intent.putExtra("txt",data);

startActivity(intent);

}

};

在第二个Activity的onCreate方法中接受数据:

Intent intent = getIntent();

String data = intent.getStringExtra("txt");

Log.d("当前类名",data);


2.向上一个Activity传递数据:

添加第一个Activity的Button的点击事件:

button1.setOnClickListener(new View.OnClickListener(){

public void onClick(View v){

Intent intent = new Intent( 第一个Activity.this,第二个ACtivity.class);

//不能用startActivity(intent);

startActivityForResult(intent,1);

}

};

添加第二个Activity的Button的点击事件来返回数据:

button2.setOnClickListener(new View.OnClickListener(){

public void onClick(View v){

Intent intent = new Intent();

intent.putExtra("txt","From SecondActivity");

setResult(RESULT_OK,intent);

finish();

}

};

然后再第一个ACtivity中重写onACtivityResult方法:

protected void onACtivityResult(int requestCode,int resultCode,Intent data){//requestCode 为startActivityForResult(intent,1)中的1;

switch(requestCode){

case 1:

if(resultCode == RESULT_OK){

String returnedData = data.getStringExtra("txt");

Log.d("当前类名",returnedData);

}

break;

default:

}

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值