《第一行代码》学习笔记:Intent的使用

16人阅读 评论(1) 收藏 举报
文件的重命名是re'factor下的rename
public void onClick(View v){
				//第一个参数提供一个启动活动的上下文,第二个参数指定想要启动的目标活动
				//Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
				//Intent intent=new Intent("com.example.activitytest.ACTION_START");//启动能响应com.example.activitytest.ACTION_START这个action的活动
				//Intent intent=new Intent("feidezheyang");//启动能响应feidezheyang这个action的活动,默认的category是android.intent.category.DEFAULT
				//intent.addCategory("ganjuekeyishuibiantiana");//每个Intent只能指定一个action,但却能指定多个category
				//Intent intent = new Intent(Intent.ACTION_VIEW);//安卓系统的内置的动作
				//intent.setData(Uri.parse("http://www.baidu.com"));//Uri.parse()能将一个网址解析成一个Uri对象,再用setData将Uri对象传递出去,活动中的data标签要和Intent中的data一致才能响应
				//Intent intent = new Intent(Intent.ACTION_DIAL);
				//intent.setData(Uri.parse("tel:10086"));//调用拨号,但android4.3拨号出问题
				//String data="Hello,SecondActivity!";
				//Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
				//intent.putExtra("extra_data",data);//该函数能把要传递的数据存在Intent中
				//startActivity(intent);//专门启动活动的函数,参数是Intent
				Intent intent=new Intent(FirstActivity.this,SecondActivity.class);
				//这个方法和startActivity一样是用来启动活动的,但该方法会在启动的活动销毁后返回一个结果
				startActivityForResult(intent,1);//第二个参数是请求码,用于之后回调判断数据来源,请求码要是唯一
			}
			
		});
	}

	//用startActivityForResult方法来启动活动,启动的活动结束后会回调上一个活动的onActivityResult方法,所以我们可以重写这个方法来获得数据
	//第一个参数是请求码,第二个参数是返回数据时传入的处理结果,用来判断处理结果是否成功,第三个是携带数据的Intent
	protected void onActivityResult(int requestCode,int resultCode,Intent data){
		switch(requestCode){
		case 1://由于可能启动了很多个活动,这时要匹配请求码来判断数据来源
			if(resultCode==RESULT_OK){
				String returnedData=data.getStringExtra("data_return");
				Log.d("FirstActivity",returnedData);
			}
			break;
		default:
		}
	}
第二个活动的代码
protected void onCreate(Bundle savedInstanceState){
			super.onCreate(savedInstanceState);
			requestWindowFeature(Window.FEATURE_NO_TITLE);
			setContentView(R.layout.second_layout);
			//Intent intent = getIntent();//getIntent能获取到启动SecondActivity的Intent
			//String data=intent.getStringExtra("extra_data");//通过相应的键值从Intent中获取上个活动的数据
			//Log.d("SecondActivity",data);
			Button button2=(Button)findViewById(R.id.button_2);
			button2.setOnClickListener(new OnClickListener(){
				public void onClick(View v){
					Intent intent = new Intent();
					intent.putExtra("data_return", "Hello,FirstActivity!");
					setResult(RESULT_OK,intent);//第一个参数是向上个活动返回处理结果,第二个参数是带有数据的Intent
					finish();
				}
			}
			);
		}
		
		//按back键就会执行onBackPressed方法
		public void onBackPressed(){
			Intent intent=new Intent();
			intent.putExtra("data_return", "Hello,FirstActivity!  from onBack");
			setResult(RESULT_OK,intent);
			finish();
		}
<activity 
            android:name="activitytest.SecondActivity"
            android:label="secondact" >
            <intent-filter>
                <action android:name="feidezheyang" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="com.example.activitytest.MY_CATEGORY" />
                <category android:name="ganjuekeyishuibiantiana" />
            </intent-filter>
        </activity>
        <activity 
            android:name="activitytest.ThirdActivity" >
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="http" />
            </intent-filter>
        </activity>


查看评论

第一行代码:更多隐式Intent的用法

更多隐式Intent的用法
  • cckevincyh
  • cckevincyh
  • 2016-08-21 16:12:34
  • 384

第一行代码:显示Intent

显示Intent
  • cckevincyh
  • cckevincyh
  • 2016-08-20 22:41:14
  • 399

第一行代码系列第二章——更多隐式Intent用法(打开网页)

效果图 修改FirstActivity中按钮事件 Button button1 = (Button) findViewById(R.id.button_1); button1.se...
  • asdaosidasu
  • asdaosidasu
  • 2016-09-11 13:47:46
  • 697

C#6.0学习笔记 从第一行C#代码到第一个项目设计周家安著.7z.001

  • 2017年12月14日 18:19
  • 50MB
  • 下载

Android第一行代码学习笔记总结

Android 基础,四大组件,数据库,传感器及单元测试
  • wbwjx
  • wbwjx
  • 2016-01-01 22:53:13
  • 856

Android第一行代码学习笔记

1.隐藏标题栏requestWindowFeature(Window.FEATURE_NO_TITLE);注意这句代码必须要在setContentView之前调用 2.隐式Intent 声明: ...
  • chenzheng8975
  • chenzheng8975
  • 2016-12-16 14:36:13
  • 466

C#6.0学习笔记 从第一行C#代码到第一个项目设计周家安著.7z.002

  • 2017年12月14日 18:22
  • 50MB
  • 下载

第一行代码笔记,第八章-----多媒体的使用

1:通知的使用:       通知:比如:头条,淘宝,各种APP打开时,发送的提示信息,(智能手机从最上面拉下来的界面就是通知界面显示的地方,也就是所谓的状态栏)。        1.1 通知的基...
  • TAR1314520
  • TAR1314520
  • 2016-10-13 16:00:49
  • 264

《第一行代码》学习笔记,第一、二章

简单说下:本人是一名安卓初学者,马上奔大四,之前上过一门安卓的课,没怎么听,但考试复习还是让我学了点东西。暑假里参加过一次为期10天的安卓培训还做了个小软件,回来以后就对此念念不忘,决心学习安卓,这是...
  • z924401294
  • z924401294
  • 2015-08-15 13:38:55
  • 555

第一行代码学习笔记-第二章 探究活动-1.活动的基本用法

1.创建一个activity 创建一个类,包名就是创建项目时候的包名,继承Activity,重新onCreate方法 在res的layout中创建一个Android XML File,root e...
  • yeehei
  • yeehei
  • 2015-09-12 22:47:05
  • 386
    个人资料
    等级:
    访问量: 73
    积分: 41
    排名: 198万+
    文章分类
    文章存档