因为每一个Acticity的任务不一样,所以经常互在各个Activity之间进行跳转,在Android中这个动作是靠Intent来完成的。...Intent的定义: Intent是Android系统用来抽象描述要执行的一个操作,也可以在不同组件之间进行沟通和消息传递。...从Android5.0(API 21),系统会抛出异常当你用隐式的Intent去调用bindService()方法。...创建一个Intent: Android系统通过Intent对象携带的信息来确定启动哪个系统组件,比如:准确的组件名称,哪一个类别的组件会接收到这个intent,Intent还会携带其他的信息以便于组件正确的执行...想要了解更多的action可以查看Intent源码或者api,在Intent中定义了很多action,除了在Android framework中,在别处也定义了很多action,比如在Settings应用中
(Intent.ACTION_CALL,uri); startActivity(it); 要使用这个必须在配置文件中加入<uses-permission id="<em>android</em>.permission.CALL_PHONE...it.setType("vnd.android-dir/mms-sms"); startActivity(it); 2)直接发送短信 Uri uri = Uri.parse("smsto:...it = new Intent(Intent.ACTION_SENDTO, uri); startActivity(it); Intent it = new Intent(Intent.ACTION_SEND...it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it); 7.分享功能 Intent intent = new Intent(...id=" + getPackageName()); intent = new Intent(Intent.ACTION_VIEW, uri); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
本文实例讲述了Android编程中Intent实现页面跳转功能。...; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View...-- 首启动项 -- <intent-filter <action android:name="android.intent.action.MAIN" /...<category android:name="android.intent.category.LAUNCHER" / </intent-filter </activity...Intent(Intent.ACTION_VIEW, uri); startActivity(intent); 希望本文所述对大家Android程序设计有所帮助。
Android Intent封装的实例详解 什么是Intent: Intent是协调应用间、组件之间的通讯和交互。通过Intent你可以启动Activity、Service、Broadcasts。...: 栗子:在一个Activity中添加一个点击按钮- 点击启动第二个Activity(需要两个String类型的参数) ?...假如你的项目越来越多,你在启动第二个Activity中参数漏掉一个有可能引起程序奔溃。那么如何避免这种情况呢: 参数是第二个Activity所需的,那么为何不由他来进行参数设定呢。...final String INTENT_TEXT1="intent_text1"; private static final String INTENT_TEXT2="intent_text2";...); intent.putExtra(INTENT_TEXT1,te); intent.putExtra(INTENT_TEXT2,te2); return intent;
Intent到底能够携带多少数据呢? 使用Intent传送数据时,可能会出现异常 在Intent中传入一个Parcelable对象;例如传入一个bitmap对象。...intent = new Intent(MSG_INTENT); intent.putExtra(K_PIC, b1); 选择bitmap的原因是,Bitmap实现了Parcelable接口,并且可以通过...W/BroadcastQueue: Failure sending broadcast Intent { act=intent_bi flg=0x10 (has extras) } android.os.TransactionTooLargeException...数据以Parcel对象的形式存放在Binder传递缓存中。 如果数据或返回值比传递buffer大,则此次传递调用失败并抛出TransactionTooLargeException异常。...在使用Intent传递数据时,1Mb并不是安全上限。因为Binder中可能正在处理其它的传输工作。 不同的机型和系统版本,这个上限值也可能会不同。
Android 隐式Intent的实例详解 前言: 顾名思义,隐式意图就是在不明确设置激活对象的前提下寻找最匹配的组件,举个例子,比如有5个人: (1)A:170cm (2)B:160cm (3)...在intent过滤器中类似于上面例子中的”身高“条件的匹配条件有: (1)action (2)category (3)data:scheme、host、path、type 当在程序中设置了这些激活组件的条件...隐式Intent的核心代码 首先是在AndroidManifest.xml中为某个Activity设置意图过滤器: <activity <intent-filter <action..."/ </intent-filter </activity 以上设置是设置Activity本身的属性,接下来在程序中要设置的是我们要寻找时匹配的条件: (1)Intent intent...Android 隐式Intent 的详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮到大家,谢谢大家对本站的支持!
Intent类的系统动作常量名 系统动作的常量值 说明 ACTION_MAIN android.intent.action.MAIN App启动时的入口 ACTION_VIEW android.intent.action.VIEW...显示数据给用户 ACTION_EDIT android.intent.action.EDIT 显示可编辑的数据 ACTION_CALL android.intent.actionCALL 拨号 ACTION_DIAL...android.intent.action.DIAL 打电话 ACTION_SEND android.intent.action.SEND 发短信 ACTION_ANSWER android.intent.action.ANSWER...剩下符合条件的优先顺序调用,其中创建一个Android工程,AndroidManifest.xml里的intent-filter就是XML中的过滤器。...其中,android.intent.action.MAIN表示App的入口动作,android.intent.category.LAUNCHER表示在App启动时调用。
downloadIntent); 隐示Intent 不会指定特定的组件,而是声明要执行的常规操作,从而允许其他应用中的组件来处理。...Intent 过滤器中控制应用在列表中的位置 2.安全问题 滥用Activity返回值 如果受害应用使用startActivityForResult(),攻击应用使用setResult()将数据传输到受害者应用的...onActivityResult()中,基于onActivityResulty()中具体的实现产生具体攻击。...用于获取用户选择的文件(文档、图象、视频)的URI,并在应用中进行处理(例如,将文件发送到服务器中),大多Android/Java无法将Android ContentResolver返回的InputSteam...数据发送到服务器中。
创建intent * 3....intent = new Intent(MainActivity.this,Main2Activity.class); //创建信使进行跳转页面 intent.putExtra...("text",s); //将获取输入文本的内容放到putExtra中 startActivity(intent); //开启新页面 }...获取intent传值 getintent * 2....赋值 */ Intent intent = getIntent(); //获取信使 String text = intent.getStringExtra
问题 我们期望这种类型的交互流程如下图所示: 流程图展示了一个启动回调 activity 的 Intent 如何作为一个扩展数据添加到一个启动 Service 的 Intent 中,然后使用此 Intent...组件的 Intent 中。...考虑一下这种场景: 如果调用方应用提供的 Intent 并不是启动调用方应用内的 Activity (比如 ClientCallbackActivity),而是去启动 Provider 应用中的私有 Activity...流程图展示了,如何通过精心构建出的 Intent 来启动 Provider 应用中的 ApiSensitiveActivity,即使它没有被标记为 exported,并且也不应该被其他应用启动。...流程图展示了如何从创建 PendingIntent 的 context 中对其进行处理,以防止攻击者调用 Provider 应用中未被标记为 exported 的 Activity。
当我们用一个显式 Intent 去启动组件时,Android 会根据 Intent 对象所提供的 component name 直接找到要启动的组件,当我们用一个隐式的 Intent 去启动组件时,Android...Intent intent = new Intent("com.luyai.action.TEST");startActivity(intent); Intent Filter 如果 Intent 中的存在...Intent 中的 category 数量可能少于 Activity 中配置的 category 数量,但是 Intent 中的这 category 必须和 Activity 中配置的 category...URL Scheme Android 中的 Scheme 是一种页面内跳转协议,是一种非常好的实现机制。通过定义自己的 Scheme 协议,可以非常方便跳转 App 中的各个页面。..." /> 原生调用:
android.intent.category.DEFAULT"),在你的Intent中设定该值为Intent的 Action就直接能跳转到你自己的Intent接收者中,因为这个Action在系统中是唯一的...,一般不要去在Intent中设置它,如果你写Intent的接收者就在Manifest.xml的Activity的 IntentFilter中包含android.category.DEFAULT,这样所有不设置...几种Intent的用法 android 中intent是经常要用到的。...String "android.intent.action.DELETE" 动作:从容器中删除给定的数据。...String "android.intent.action.INSERT" 动作:在容器中插入一个空项 (item)。
Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将...下面以Action为例: AndroidManifest.xml文件中,首先被调用的Activity要有一个带有并且包含的Activity,设定它能处理的Intent,并且category设为"android.intent.category.DEFAULT... <category android:name="android.intent.category.DEFAULT...任何数量的Category 描述都可以添加到Intent中,但是很多intent不需要category,下面列举一些常用的category: 类型 作用 CATEGORY_DEFAULT 把一个组件Component...中。
/>中之元素android:scheme、android:host、android:port、android:path 完全满足。...Activity C、D,如果这时在Activity D中再启动Activity B,将直接把Activity栈中的Activity B带到前台。...例如,Activity栈中包含A、B、C、D四个Activity,如果采用该Flag从Activity D跳转到Activity B,那么此时Activity栈中只包含A、B两个Activity。...栈中只有 A、B、C、E 四个 Activity,Activity D 不会保留在 Actvity 栈中。...七、启动Android系统常用内置组件 在实际开发中,很多时候不只是调用自定义的Activity,还会调用Android系统定义的Activity。
Activity中,将可以看到下图所示的界面。...} }); }} 上面程序中的onClick回调方法里面的代码指定了根据Intent来启动Activity。...这取决于Activity配置中 元素的配置。 <intent-filter......另外上面程序中的代码并未指定目标Intent的Category属性,但该Intent 已有一个值为 android.intent.category.DEFAULT 的 Category 属性值,因此被启动...} }); }} 上面程序中的onClick回调方法里面的代码指定了该Intent的Action属性值为com.jinyu.cqkxzsxy.android.intent.action.TEST_ACTION
前言 小伙伴们,在前面的一系列文章中我们分别介绍了Android视图控件、Android布局、Android四大组件,本文我们单独介绍一下Android中一个非常重要的内容Intent的使用。...一 Intent基本介绍 Intent是Android中的一个基本组件,用于在应用内的不同组件(如活动、服务和广播接收器)之间进行通信和交互。...二 Intent使用方法 Intent是Android中用于应用组件之间通信和交互的重要机制。...通过putExtra()方法将数据放入Intent中,然后在目标活动中通过getXXXExtra()方法获取数据。...(intent); 三 Intent常见属性及方法 Intent是Android中用于组件间通信和交互的核心类。
android.intent.action.AIRPLANE_MODE android.intent.action.BATTERY_CHANGED android.intent.action.BATTERY_LOW...android.intent.action.MEDIA_EJECT android.intent.action.MEDIA_MOUNTED android.intent.action.MEDIA_NOFS...android.intent.action.PHONE_STATE android.intent.action.PROVIDER_CHANGED android.intent.action.REBOOT...android.intent.action.SCREEN_OFF android.intent.action.SCREEN_ON android.intent.action.TIMEZONE_CHANGED...android.intent.action.TIME_SET android.intent.action.TIME_TICK android.intent.action.UID_REMOVED android.intent.action.UMS_CONNECTED
服务端Intent运行过程: Sticky:这个类型的BroadCast表示某些Intent须要被保留,当新的应用起来后,须要关注这个消息,可是呢,又不须要启动这个应用来接收此消息,比方耳机插入等消息。...这个函数的主要作用就是依据这个Intent的特点,构造BroadCastRecord添�到不同的列表,等待被处理; 这样发送就到了以下这个函数中了: 控制到了scheduleBroadcastsLocked...消息放入到消息队列里面,最后传递给mHandler,从这个角度来说Intent最后也是通过线程本身的消息队列来实现Intent的分发的; 消息分发过程: mHandler收到BROADCAST_INTENT_MSG...的时候也会碰到,我们留到后面讨论,这里仅仅须要知道它通过一个while循环把Intent发送给关注这个Intent的全部的receivers; 3, 再推断 mPendingBroadcast是否为空...,假设不为空,就表示先前发送的串行的Intent还没有处理完成,一般出现这样的可能是由于我们要发送到的 receiver还没有启动,所以须要先启动这个activity,然后等待起来的这个activity
Category(类别)检测 类别在中是通过标记定义的,Category和Action一样,他们的名字都是一个字符串定义,但是我们在代码中可以使用对应的类别常量,在xml文件定义中只能使用定义好的字符串...Android的Intent类中提供了很多内置的类别定义,一中类别代表一个意思,可以参考说明使用。。...比如android.intent.category.LAUNCHER标表示你的应用会展示在启动列表页面,经常和android.intent.action.MAIN搭配使用 下面通过一个例子来说明Category...android:name="android.intent.category.DEFAULT"> <category android:name="com.flysnow.intent.CATEGORY_MAN...但是intent-filter的可以有额外的Category .再次提醒: Android对所有传递给 Context.startActivity()的隐式intent至少包含”android.intent.category.DEFAULT
Android 打开设置界面或者WiFi连接界面注:有些Settings的字符需要高版本才适用Intent it = new Intent(Settings.ACTION_WIFI_SETTINGS);..., "返回");it.putExtra("extra_prefs_set_back_text", "确认");startActivityForResult(it, 202); //直接进入手机中的...wifi网络设置界面,返回时可以触发回调如何直接打开android系统的wifi设置页面,防止intent劫持Intent it = new Intent();ComponentName cn = new...ComponentName("com.android.settings","com.android.settings.wifi.WifiSettings");it.setComponent(cn);it.putExtra
领取专属 10元无门槛券
手把手带您无忧上云