Android第一行代码 第二章 Activity相互跳转与Intent
2018-01-05 10:52
393 查看
1. 显示Intent
2. 隐式Intent
3. 无数据传递的Activity跳转
4. 携带数据的Activity跳转
5. 需要返回数据的Activity跳转
startActivity(intent);
其他参数; <category>表示附加信息。默认为DEFAULT。 一定要action,category都匹配才响应intentIntent intent = new Intent("com.example.activity.ACTION_START");
startActivity(intent) 2.2 隐式Intent 跳转浏览器
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData( Uri.parse(“http://www.baidu.com”));
startActivity(intent); 2.3 隐式Intent 拨打电话
Intent intent = new Intent( Intent.ACTION_DIAL );
intent.setData( Uri.parse(“tel:10086”) );
startActivity(intent);
三
参数1: intent;
参数2: 请求码,用于在之后的回调中判断数据的来源;
代码:
FirsetActivity中:
(1) Intent跳转:
Intent intent = new Intent( FirstActivity.this, Seco
4000
ndActivity.class );
intent.startActivityForResult( intent, 1 /* resultCode */ );
(2) 获取返回值 :
/*
onActivityResult:
参数1: 表示返回数据是否有效;
参数2: 表示是哪个Activity返回,由startActivityForResult传入;
参数3: Intent 即返回时携带数据的Intent;
*/
protected void onActivityResult( int requestCode, int resultCode,Intent data ){
super.onActivityResult( requestCode,resultCode,data );
if( resultCode ==RESULT_OK && requestCode==1 ){
String return_data = data.getStringExtra(“data_return”);
Toast.makeText(MainActivity.this, return_data, Toast.LENGTH_SHORT).show();
}
}
SecondActivity中
Intent intent = new Intent();
intent.putExtra(“data_return”, “hello FirstActivity”);
setResult(.RESULT_OK, intent );
finish();
注意: 构建的Intent,仅仅用于传递属于而已,它没有指向任何意图。 将要传递的数据存放在Intent中,然后调用setResult()方法。这个方法很重要,是专门用于向上一个活动返回数据的。参数1:用于向上一个Activity返回处理结果,一般只是用RESULT_OK,RESULT_CANCELED这两个值。参数2:携带数据的Intent。 最后调用finish()方法来销毁当前活动。
2. 隐式Intent
3. 无数据传递的Activity跳转
4. 携带数据的Activity跳转
5. 需要返回数据的Activity跳转
一 显示Intent跳转 ( 参数为Class )
参数1: context 参数2: 要跳转的Activity的Class Intent intent = new Intent(FirstActivity.this, SecondActivity.class);startActivity(intent);
二 隐式Intent跳转 ( 参数为Manifest.xml中配置的Intent-filter中的action,category,data )
参数1:action Activity在Manifest.xml中配置的action. <action>表明当前活动可以响应action中声明的值.其他参数; <category>表示附加信息。默认为DEFAULT。 一定要action,category都匹配才响应intentIntent intent = new Intent("com.example.activity.ACTION_START");
startActivity(intent) 2.2 隐式Intent 跳转浏览器
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData( Uri.parse(“http://www.baidu.com”));
startActivity(intent); 2.3 隐式Intent 拨打电话
Intent intent = new Intent( Intent.ACTION_DIAL );
intent.setData( Uri.parse(“tel:10086”) );
startActivity(intent);
三
无数据传递的Activity跳转
FirstActivity中: Intent intent = new Intent( FirstActivity.this, SecondActivity.class ); startActivity(intent);
四 携带数据的Activity跳转
FirstActivity中: String data = “hello SecondActivity”; Intent intent = new Intent( FirstActivity.this, SecondActivity.class ); intent.putExtra(“data”, data); startActivity(intent); SecondActivty中: Intent intent = getIntent(); //获取启动secondActivity的intent String data = intent.getStringExtra(“data”); //获取intent承载的数据
五 需要返回数据的Activity跳转
startActivityForResult() 这个方法期望在活动销毁的时候能够返回一个结果给上一个活动。参数1: intent;
参数2: 请求码,用于在之后的回调中判断数据的来源;
代码:
FirsetActivity中:
(1) Intent跳转:
Intent intent = new Intent( FirstActivity.this, Seco
4000
ndActivity.class );
intent.startActivityForResult( intent, 1 /* resultCode */ );
(2) 获取返回值 :
/*
onActivityResult:
参数1: 表示返回数据是否有效;
参数2: 表示是哪个Activity返回,由startActivityForResult传入;
参数3: Intent 即返回时携带数据的Intent;
*/
protected void onActivityResult( int requestCode, int resultCode,Intent data ){
super.onActivityResult( requestCode,resultCode,data );
if( resultCode ==RESULT_OK && requestCode==1 ){
String return_data = data.getStringExtra(“data_return”);
Toast.makeText(MainActivity.this, return_data, Toast.LENGTH_SHORT).show();
}
}
SecondActivity中
Intent intent = new Intent();
intent.putExtra(“data_return”, “hello FirstActivity”);
setResult(.RESULT_OK, intent );
finish();
注意: 构建的Intent,仅仅用于传递属于而已,它没有指向任何意图。 将要传递的数据存放在Intent中,然后调用setResult()方法。这个方法很重要,是专门用于向上一个活动返回数据的。参数1:用于向上一个Activity返回处理结果,一般只是用RESULT_OK,RESULT_CANCELED这两个值。参数2:携带数据的Intent。 最后调用finish()方法来销毁当前活动。
相关文章推荐
- Android第一行代码阅读笔记001 主要文件夹介绍、activity的注册、资源引用的方法、Log日志打印的使用
- Android notification点击跳转到Activity,点击返回跳转,前一条消息目标Intent的值不被后面的消息覆盖,getActivities第二个参数必须区分开来
- Android使用多个Intent进行Activity跳转,如何直接退出系统
- Android使用Intent实现Activity之间的跳转
- Android中activity跳转与Intent传值(重复)
- 读书笔记 第一行代码 第二章Activity相关
- android中Activity的跳转和Intent七个属性简单记录(5)
- Android使用intent跳转到其它应用activity界面
- 第一行代码 第二章 Activity的启动模式
- Android混合开发之Activity类与html页面之间的相互跳转(并解决黑屏问题)
- 《第一行代码 android》 读书笔记:找出当前界面对应的Activity
- android中使用intent来实现Activity带数据跳转
- android 从activity用intent跳转到listactivity并在其中用simpleadapter在listview中显示数据列
- Android--第一行代码 Intent用法
- Android混合开发之Activity类与html页面之间的相互跳转之PhoneGap
- Android 实例:在Activity 之间跳转的intent
- Android使用Intent跳转的时候,如何清除堆栈里所有的Activity
- Android-Adapter中使用Intent跳转到一个activity
- android之两个activity相互跳转
- 用intent实现Android中Activity之间的跳转