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.csdn.net/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。通过查看参考文档便可获取所有想调用的窗口细节。