- intent的顯示用法
- intent的隱式用法
- 向上一個活動返回數(shù)據(jù)
intent的顯示用法: - 新建一個intent,
- 指定來源和去向
- 開始intent
//顯示intent,兩參數(shù)指明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,參數(shù)就是剛設置的action的名字
//隱式Intent指定了action,在androidManifest.xml定義
//Intent intent = new Intent("com.example.bbw.intentdemo.SecondActivity.INTENT_DEMO") ;
//startActivity(intent);
- intent的其他隱式用法
//隱式用法打開網(wǎng)頁
// 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);
// }
向上一個活動傳遞數(shù)據(jù)
Intent intent = new Intent(getApplicationContext(),SecondActivity.class);
startActivityForResult(intent,1);//1為requestCode,作用是啟動SecondActivity
接收到intent的活動,填充數(shù)據(jù),并返回處理結(jié)果,最后結(jié)束自己。
//向上一個活動傳遞數(shù)據(jù)
Intent intent = new Intent();
intent.putExtra("DATA_RETURN","something return");
setResult(RESULT_OK,intent);//result_ok為result_code返回處理結(jié)果
finish();
發(fā)起intent的活動,回調(diào)函數(shù) 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:
}
}