Intent介绍:
- Intent 执行某操作的一个抽象描述。
- Intent 负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。
一、熟悉常用的Intent,调用系统窗口
如下:
switch (view.getId())
{
case R.id.btnCall:
Intent callIntent = new Intent(Intent.ACTION_CALL,//直接拨号
Uri.parse("tel:12345678"));
startActivity(callIntent);
break;
case R.id.btnTouchDialer:
Intent touchDialerIntent = new Intent(
"com.android.phone.action.TOUCH_DIALER");//将电话号码传入拨号程序
startActivity(touchDialerIntent);
break;
case R.id.btnDial:
Intent dialIntent = new Intent(Intent.ACTION_DIAL,//调用拨号程序
Uri.parse("tel:87654321"));
startActivity(dialIntent);
break;
case R.id.btnWeb:
Intent webIntent = new Intent(Intent.ACTION_VIEW,//浏览网页
Uri.parse("http://blog.youkuaiyun.com/nokiaguy"));
startActivity(webIntent);
break;
case R.id.btnContactList:
Intent contactListIntent = new Intent(
"com.android.contacts.action.LIST_CONTACTS");//查看联系人
startActivity(contactListIntent);
break;
case R.id.btnSettings:
Intent settingsIntent = new Intent(
"android.settings.SETTINGS");//系统设置 startActivity(settingsIntent);
break;
case R.id.btnWifiSettings:
Intent wifiSettingsIntent = new Intent(
"android.settings.WIFI_SETTINGS");//wifi设置
startActivity(wifiSettingsIntent);
break;
case R.id.btnAudio:
Intent audioIntent = new Intent(Intent.ACTION_GET_CONTENT);
audioIntent.setType("audio/*");
startActivity(Intent.createChooser(audioIntent, "选择音频程序"));//选择音频程序
break;
case R.id.btnGoHome:
Intent gohomeIntent = new Intent("android.intent.action.MAIN");//回到Home界面 gohomeIntent.addCategory("android.intent.category.HOME");
startActivity(gohomeIntent);
break;
// Intent.ACTION_WEB_SEARCH
}
二、获取所有可调用的窗口及细节
Intent参数设置有setData和setType两种参数。一般在配置文件中android-filter参数设置使得程序适时调用窗口。分为Action 、Schema 、Data、Category。通过查看参考文档便可获取所有想调用的窗口细节。