Intent目前翻译为意图,所谓意图就是想做什么。是Android系统组件之间的通信的桥梁。其描述的基本内容可以分为:conponentName(组件名称)、Action(动作名称)、Data(数据)、Category(类别)、Extra(附加数据)和Log(标志位)六个部分。
创新互联是一家集网站建设,乌达企业网站建设,乌达品牌网站建设,网站定制,乌达网站建设报价,网络营销,网络优化,乌达网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。1 、指定conponentName
指定组件名称的方式又叫显示调用,明确要调用的组件,直接调用组件名,调用方式如下
Intent goto = new Intent(); goto.setClass(OneActivity.this,Second.class); OnActivity.this.startActivity(goto);
当然两个Activity必须在AndroidManifest.xml注册。
2 、指定Action
没有明确指出组件名,隐式调用,需要和Data,Catagory,Extra配合使用。这个隐式调用又分为静态调用和动态调用。
(一)静态隐式调用
这种调用在方式上面体现为必须将要调用的组件的IntentFilter在AndroidManifest.xml里面注册,并且至少需要一个
下面是Activity中的写法,目的是Activity传递数据给BroadcastReceiver
Intent sendIntent = new Intent("intent_1");//动作名称为action_1 sendIntent.putExtra("sendmsg","你好");//存储数据到Intent中,通过广播携带到目的组件中 MainActivity.this.sendBroadcast(sendIntent);//发送广播
广播内容
public class MyBroadCastReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context,Intent intent){ Toast.makeText(context,intent.getExtra("sendmsg"), Toast.LENGTH_LONG).show(); } }
注册接收者,必须要,不然过滤器无法找到
同样的道理,在Activity和Activity之间通讯的时候,不过Activity在注册的时候要加一个标签
(二)动态隐式调用
也就是不在注册文件里面注册intentFilter而是需要调用的时候再注册。如下
IntentFilter myfilter = new IntentFilter(); MyBroadCast mybroad = new MyBroadCast(); myfilter.addAction("action_3"); registerReceiver(mybroad,myfilter); //动态注册 Intent intent = new Intent(); intent.putExtra("msg","哈哈"); intent.setAction("action_3"); Main.this.sendBroadcast(intent);
3、使用系统自带的ActionName
由于实在太多这里就不详解了,用法大致为:
Intent intent = new Intent(Intent.ACTION_DIAL);//显示电话拨号界面 this.startActivity(intent);
//打开浏览器并且指定网页 Uri uri = Uri.parse(" Intent intent = new Intent(Intent.ACTION_VIEW,uri); this.startActivity(intent);
以下是所有系统自带ActionName:
android.intent.action.ALL_APPS android.intent.action.ANSWER android.intent.action.ATTACH_DATA android.intent.action.BUG_REPORT android.intent.action.CALL android.intent.action.CALL_BUTTON android.intent.action.CHOOSER android.intent.action.CREATE_LIVE_FOLDER android.intent.action.CREATE_SHORTCUT android.intent.action.DELETE android.intent.action.DIAL android.intent.action.EDIT android.intent.action.GET_CONTENT android.intent.action.INSERT android.intent.action.INSERT_OR_EDIT android.intent.action.MAIN android.intent.action.MEDIA_SEARCH android.intent.action.PICK android.intent.action.PICK_ACTIVITY android.intent.action.RINGTONE_PICKER android.intent.action.RUN android.intent.action.SEARCH android.intent.action.SEARCH_LONG_PRESS android.intent.action.SEND android.intent.action.SENDTO android.intent.action.SET_WALLPAPER android.intent.action.SYNC android.intent.action.SYSTEM_TUTORIAL android.intent.action.VIEW android.intent.action.VOICE_COMMAND android.intent.action.WEB_SEARCH android.net.wifi.PICK_WIFI_NETWORK android.settings.AIRPLANE_MODE_SETTINGS android.settings.APN_SETTINGS android.settings.APPLICATION_DEVELOPMENT_SETTINGS android.settings.APPLICATION_SETTINGS android.settings.BLUETOOTH_SETTINGS android.settings.DATA_ROAMING_SETTINGS android.settings.DATE_SETTINGS android.settings.DISPLAY_SETTINGS android.settings.INPUT_METHOD_SETTINGS android.settings.INTERNAL_STORAGE_SETTINGS android.settings.LOCALE_SETTINGS android.settings.LOCATION_SOURCE_SETTINGS android.settings.MANAGE_APPLICATIONS_SETTINGS android.settings.MEMORY_CARD_SETTINGS android.settings.NETWORK_OPERATOR_SETTINGS android.settings.QUICK_LAUNCH_SETTINGS android.settings.SECURITY_SETTINGS android.settings.SETTINGS android.settings.SOUND_SETTINGS android.settings.SYNC_SETTINGS android.settings.USER_DICTIONARY_SETTINGS android.settings.WIFI_IP_SETTINGS android.settings.WIFI_SETTINGS android.settings.WIRELESS_SETTINGS
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前文章:Intent简单介绍-创新互联
分享路径:http://scgulin.cn/article/cepidi.html