- intent的显示用法
- intent的隐式用法
- 向上一个活动返回数据
intent的显示用法: - 新建一个intent,
- 指定来源和去向
- 开始intent
//显示intent,两参数指明intent的来源和目的地
Intent intent = new Intent(getApplicationContext(),SecondActivity.class);
startActivity(intent);
intent的隐式用法
- 在AndroidManifest.xml文件intent到达目的地中指定action
<activity android:name=".SecondActivity">
<intent-filter>
<action android:name="com.example.bbw.intentdemo.SecondActivity.INTENT_DEMO"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
- 新建一个intent,参数就是刚设置的action的名字
//隐式Intent指定了action,在androidManifest.xml定义
//Intent intent = new Intent("com.example.bbw.intentdemo.SecondActivity.INTENT_DEMO") ;
//startActivity(intent);
- intent的其他隐式用法
//隐式用法打开网页
// Intent intent = new Intent(Intent.ACTION_VIEW);
// intent.setData(Uri.parse("http://www.baidu.com"));
//隐式用法拨打电话
// if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
// ActivityCompat.requestPermissions(SecondActivity.this,new String[]{Manifest.permission.CALL_PHONE},1);
// }else{
// Intent intent = new Intent(Intent.ACTION_CALL);
// intent.setData(Uri.parse("tel:10086"));
// startActivity(intent);
// }
向上一个活动传递数据
Intent intent = new Intent(getApplicationContext(),SecondActivity.class);
startActivityForResult(intent,1);//1为requestCode,作用是启动SecondActivity
接收到intent的活动,填充数据,并返回处理结果,最后结束自己。
//向上一个活动传递数据
Intent intent = new Intent();
intent.putExtra("DATA_RETURN","something return");
setResult(RESULT_OK,intent);//result_ok为result_code返回处理结果
finish();
发起intent的活动,回调函数 onActivityResult
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode){
case 1:
if (resultCode == RESULT_OK){
String returnData = data.getStringExtra("DATA_RETURN");
Log.d("FirstAvticity",returnData);
}
break;
default:
}
}
网友评论