首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

安卓应用安全指南 4.1.2 创建使用活动 规则书

由于意图过滤器特性,以及工作原理,即使您打算向内部私有活动发送意图如果通过意图过滤器发送,则可能会无意中启动另一个活动。...另一方面,私有活动永远不会直接从其他应用收到任何意图目标应用中公共活动可能会将恶意Intent转发给私有活动,因此您不应该认为私有活动不会收到任何恶意输入。...4.1.2.7 返回结果时,请注意目标应用产生可能信息泄露(必需) 当您使用setResult()返回数据时,目标应用可靠性取决于Activity类型。...此外,根据实现,向伙伴或内部活动发送意图时,也存在各种信息泄漏风险。 即使数据发送到私有活动,也存在风险,意图数据可能通过LogCat泄漏。...意图附加部分中信息不会输出到LogCat`,因此最好在那里存储敏感信息。 但是,首先发送敏感数据,是防止信息泄露唯一完美解决方案,因此您应该尽可能限制发送敏感信息数量。

1.3K20

【Android 启动过程】Activity 启动源码分析 ( Activity -> AMS、主线程阶段 )

* * @param intent 要启动意图. * @param requestCode 如果>=0,则当活动退出时,此代码将在onActivityResult()中返回....* * 此方法返回一个{@link ActivityResult}对象,您可以 * 在拦截应用程序调用时使用,以避免执行启动 * 活动操作,返回应用程序运行结果...为此,重写此方法以捕获对start调用 * 活动,以便返回包含结果新ActivityResult * 您希望应用程序能够看到,并且不要调用超级用户 * 班级。...* @param target 哪个活动正在执行启动(并因此接收任何结果);如果未进行此调用,则可能为null从一项活动中。 * @param intent 启动实际意图。...* @return 要强制返回特定结果,请返回包含所需数据ActivityResult对象; * 否则返回null。默认实现总是返回null。

2.5K30
您找到你想要的搜索结果了吗?
是的
没有找到

安卓应用安全指南 4.1.3 创建使用活动 高级话题

如果定义了任何意图过滤器,则该活动是公开;否则它是私有的。...由于这个漏洞,可能会将敏感信息发送到其他应用,或者应用可能会收到意外返回值。 如上所示,使用意图过滤器,隐式意图发送到私有应用,可能会导致意外行为,因此最好避免此设置。...因此,使用此处解释方法时,源(请求)应用需要使用startActivityForResult(),即使它不需要获取返回值。...发送到任务根Activity意图,被添加到任务历史中。 根活动是在任务中启动第一个活动。 任何应用都可以通过使用ActivityManager类,读取添加到任务历史意图。...每个任务信息存储在ActivityManager.RecentTaskInfo类实例中,发送到任务根Activity意图存储在其成员变量baseIntent中。

1.4K20

《Android移动应用基础教程》(Android Studio)(第二版)黑马程序员 课后习题答案

2、适配器:RecyclerView控件使用RecyclerView.Adapter适配器,该适配器BaseAdapter中getView()方法拆分为onCreateViewHolder()方法和...(2)Intent被称为意图,是程序中各组件间进行交互一种重要方式,它不仅可以指定当前组件要执行动作,还可以在不同组件之间进行数据传递。...B程序通过ContentResolver操作A程序暴露出来数据,而A程序会将操作结果返回给ContentResolver,然后ContentResolver再将操作结果返回给B程序。...(2) 广播发送者通过Binder机制向AMS发送广播。 (3) AMS查找符合相应条件(IntentFilter/Permission)广播接收者,广播发送到相应消息循环队列中。...当发送无序广播时,所有监听这个广播广播接收者都会接收到此广播消息,接收和执行顺序不确定。 (3)拦截广播 有序广播接收者可拦截广播。

2.5K20

Android用RecyclerView实现动态添加本地图片

本文介绍了Android用RecyclerView实现动态添加本地图片,分享给大家,具体如下: 本文所用多图选择library来自:https://github.com/lovetuzitong/MultiImageSelector...private ImageFetcher imageFetcher; private ViewHolder viewHolder; private View view; /** * 在构造方法中传入图片地址数据.../** * 返回图片url,并上传七牛 * * @param requestCode * @param resultCode * @param data */ @Override protected...BitmapFactory.decodeFile(paths.get(0), DIY_dialog.getBitmapOption(4)); //添加图片 if (requestCode == 10001) { //添加图片放在第一位...,就是在存储图片list最后一项添加一个具有不同标识数据,当点击时对应标识和该标识一致,则添加,反之为修改。

1.7K20

1--安卓多媒体之图片综合篇

(new Intent(MediaStore.ACTION_IMAGE_CAPTURE), Cons.CAMERA_RESULT); 2.接收返回Bitmap @Override protected...两个数据库中 数据库中图片主要字段有: _id:id标识 _data: 图片绝对路径 _size: 图片大小 mime_type:...media内容提供者数据库.png 1.获取内容提供者并添加一条自定义信息图片 private void insertImg() { //1.创建ContentValues对象,记录插入照片信息...values); L.d(imgFileUri + L.l());//content://media/external/images/media/1064830 //3.通过打开图片意图添加额外信息...查询最近100张图片.png 1.获取最近100条数据库记录 排序条件:"date_added desc"表示根据date_added字段倒序查询 数据盛放在List中,并根据列表元素个数来决定跳出

56520

已中招!Android 基础面试常常吊死在这几个问题上……

第二步:通过javacJava源代码编译为 .class 文件,然后通过 sdk “工具”中包含“ dx” 工具类文件转换为 Dalvik 字节码。输出为 classes.dex 。...它不会创建新实例,而是意图发送给 Activity 现有实例。...commit() 同步写入数据,并根据结果立即返回成功或失败boolean类型值。 apply()是异步,不会返回任何布尔响应。...应聘者:它是一个列表,有自己适配器,在 onBindViewHolder 方法中进行数据绑定! 面试官:我给你补充一下! RecyclerView 在显示较长项目列表。...假设我们要显示100行项目。一种简单方法是只创建100个视图,每行一个视图,然后将它们全部布局。这是浪费,因为在任何时间点上,只有10个左右项目可以放在屏幕上,而其余项目则不在屏幕上。

2K20

Android MVI框架搭建与使用

MVI框架适用于UI变化很多项目,通过数据去驱动UI,MVI就是Model、View、Intent。 Model 这里Model有所不同,里面还包含UI状态。...进行JSON数据格式化,然后我们需要设置数据名称,这里输入Wallpaper,因为我们需要使用Moshi,JSON数据直接转成数据类,所以这里我们点击Advanced,如图所示:   这里默认是...作为网络接口请求地址头,然后构建了MoShi,通过MoShi去进行JSON转Kotlin数据处理,之后就是构建Retrofit,MoShi设置进去,最后就是通过Retrofit创建一个网络请求服务...initView()函数中是控件一些配置,比如给RecyclerView添加布局管理器和设置适配器,给按钮添加点击事件,在点击时候发送意图发送意图被MainViewModel中mainIntentChannel...页面UI(点击事件发送意图) → ViewModel收集意图(确定内容) → ViewModel更新状态(修改_state) → 页面观察ViewModel状态(收集state,执行相关UI) 这是一个环

3.1K40

《移动互联网技术》第五章 界面开发: 掌握Activity基本概念,Activity堆栈管理和生命周期

Intent中可以设置category,如果这时使用startActivity或者startActivityForResult,系统会自动添加默认category。...使用extras可以为组件提供扩展信息,比如如果要执行“发送电子邮件”这个动作,可以电子邮件标题、正文等保存在extras中,然后传给电子邮件发送组件。...作为数据接收方,主界面在启动子活动时需要使用startActivityForResult()函数。...子活动作为发送方,需要将数据放入Intent,然后调用setResult()函数把子活动想要返回数据返回到MainActivity。...Flags:Flags可以为意图设置某种标志,可以用作意图发送者签名。设置了Flags意图启动一个 Activity 后,这个Activity可以根据意图Flags值判断意图来自哪里。

9310

Android Intent用法总结

Android中提供了Intent机制来协助应用间交互与通讯,Intent负责对应用中一次操作动作、动作涉及数据、附加数据进行描述,Android则根据此Intent描述,负责找到对应组件,...类,可以唯一确定一个Activity,意图特别明确,所以是显式。...其中最常用是Action属性和Data属性。 Action:用来表现意图行动 一个字符串变量,可以用来指定Intent要执行动作类别。...Category:用来表现动作类别 一个包含Intent额外信息字符串,表示哪种类型组件来处理这个Intent。...并且包含这个属性Activity所定义icon取代application中定义icon CATEGORY_BROWSABLE 当Intent指向网络相关时,必须要添加这个类别 CATEGORY_HOME

1.5K10

四大组件纽带——Intent

Intent 描述了要启动 Activity,并携带了任何必要数据。 如果希望在 Activity 完成后收到结果,则可以调用 startActivityForResult()。...Intent 描述了要启动服务,并携带了任何必要数据。 如果服务旨在使用客户端-服务器接口,则通过 Intent 传递给 bindService(),可以从其他组件绑定到此服务。 3....发送广播 广播是任何应用均可接收消息。系统针对系统事件(例如:系统启动或设备开始充电时)传递各种广播。...Android系统会根据隐式Intent中设置动作(action )、类别(category )、数据(Uri和数据类型)找到最合适组件。...隐式 Intent启动Activity意图如下图所示。 ? 在上图中,Activity A 创建包含操作描述 Intent,并将其传递给 startActivity()。

99650

C#开发移动应用系列(4.调用系统应用,以及第三方应用(调用与被调用))

(这是一个路径,但是不能直接拿来用) 2.返回值转换成我们想要文件路径(重点~直接复制我代码就好了..) 3.通过文件流读取文件,并得到字节(和.NETIO操作一模一样) 这样,我们就完成了整个读取照片过程...我们首先新建一个APP项目如下: ? 然后在MainActivity编写意图过滤特性,如下: ?...这里两个属性意思是:Intent.ActionSend当用户意图发送操作时候,类别设置为默认 这样我们就稍微过滤了一下意图.. 然后,我们把这个APP部署在模拟器上,如图: ?..., "发送数据:XXXXX"); StartActivity(Intent.CreateChooser(ite, "选择应用程序")); 我们点击按钮,就会调用到APP3,如图: ?...上图中,我APP3已经获取到WebApp测试发过来数据.

93370

【Android从零单排系列三十五】《Android四大组件——Activity》

数据传递和返回:通过Intent可以在不同Activity之间传递数据。...Intent:Activity接收到意图对象,包含了启动Activity相关信息,如数据、标志位等。 Window:代表Activity窗口,可以用来设置标题栏、背景色等窗口属性。...onActivityResult():用于接收其他Activity返回结果,通过Intent对象获取返回数据。...CurrentActivity.this, TargetActivity.class); startActivity(intent); 隐式启动: 通过指定Action、Category和Data等属性,启动请求发送给系统让其自行匹配合适...()启动: 当需要获取目标Activity返回结果时,可以使用startActivityForResult()方法启动,并在目标Activity中调用setResult()方法设置返回结果。

18910

用户界面开发基础

由于Data是可序列化对象,因此完全可以Data抓换成byte[]类型数据,然后byte[]类型数据再进行Base4编码(通过Email发送附件就是附件转换成为Base64格式字符串发送...全局类中不需要定义静态变量,只需要定义成员变量即可, 而且全局类中必须要有一个无参构造方法,或者编写任何代码构造方法(系统会自动建立一个无参数构造方法)。...,不仅要向Activity传递数据,同时也要从Activity中返回数据,一般建议采用Intent这种方式来返回数据,需要使用startActivityForResult方法来显示Activity。...发送意图标示为REQUSET=1 startActivityForResult(intent, REQUSET); B Activity处理数据: Intent intent=new Intent(...这样在Activity中就不用创建按钮对象而处理按钮单击事件了。 如果在程序中只处理单击事件,而直接引用相应对象,可以采用这种方法。

1.8K20

Android-使用Intent传递数据

返回数据给上一个活动 Activity中还有一个StartActivityForResult()方法也是用于启动活动这个方法期望在活动被销毁时候能够返回一个结果给上一个活动。...StartActivityForResult()接收两个参数, 第一个参数还是Intent, 第二个参数是请求码,用于在回调中判断数据来源。..., 没有指定任何意图”,把要传递数据存放在Intent中,调用setResult()方法, 专门用于向上一个活动返回数据,接收两个参数, 第一个参数用于上一个活动返回处理结果,一般使用RESULT_OK..., 第二个参数resultCode,即我们返回数据时传入处理结果, 第三个参数data,即携带着返回数据Intent。...由于在一个活动中有可能调用startActivityForResult()方法启动很多不同活动, 每一个活动返回数据都会回调onActivityResult()方法,因此需要先判断requestCode

1.1K30

android之onActivityResult介绍

image.png onActivityResult 在一个主界面(主Activity)通过意图跳转至多个不同子Activity上去,当子模块代码执行完毕后再次返回主页面,子activity中得到数据显示在主界面...这种带数据意图跳转需要使用activityonActivityResult()方法。...,用于携带跳转至下一个界面中使用数据,使用putExtra(A,B)方法,此处存储数据类型特别多,基本类型全部支持。...可以通过data.getXxxExtra( );方法来获取指定数据类型数据, setResult(int resultCode, Intent data) 在意图跳转目的地界面调用这个方法把Activity...想要返回数据返回到主Activity, 第一个参数:当Activity结束时resultCode归还在onActivityResult()中,一般为RESULT_CANCELED , RESULT_OK

1.2K40

android学习笔记----隐式意图和显式意图

,为您提供requestCode,启动它,返回resultCode,以及来自它任何其他数据。...如果活动显式返回,则不会返回任何结果,或者在操作期间崩溃,resultCode将为RESULT_CANCELED。 当您活动重新启动时,您将在onResume()之前立即收到此调用。...data Intent:一个Intent,它可以结果数据返回给调用者(各种数据可以附加到Intent“extras”)。...由于在一个活动中有可能调用startActivityForResult()方法去启动很多不同活动,每一个活动返回数据都会回调到onActivityResult()这个方法中,因此我们首先要做就是通过...resultCode值来判断数据来源,确定这个是由哪一个活动返回数据

1.2K10
领券