精华内容
下载资源
问答
  • ActivityFuzzer:检测Android Activity组件的安全漏洞
  • 和J2ME的MIDlet一样,在android中,Activity的生命周期交给系统统一管理。与MIDlet不同的是安装在android中的所有的Activity都是平等的。在android中,Activity拥有四种基本状态:Active/Runing一个新Activity启动...
  • 所有的Activity组件均需要继承Activity类,这是一个Content的间接子类,包装了一些Activity的基本特性。 View组件是所有UI组件、容器组件的基类,也就是说,它可以是一个布局容器,也可以是一个布局容器内的基本UI...
  • Android 滑动关闭Activity组件可以设置上下左右滑动关闭,一个通过手势滑动关闭Activity的库,你可以设置滑动关闭的方向,比可以设置上下左右滑动关闭 一个通过手势滑动关闭Activity的库,你可以设置滑动关闭的方向...
  • Android中的四大组件Activity、Service、BroadcastReceiver、Content Provider Activity是一个应用程序组件,提供用户与程序交互的界面。 Android运行机制 图片来源The Android Developer’s Guide 创建使用...

    Android中的四大组件:Activity、Service、BroadcastReceiver、Content Provider
    Activity是一个应用程序组件,提供用户与程序交互的界面。
    Activity运行机制
    这里写图片描述
    图片来源The Android Developer’s Guide
    创建使用Activity

    1. 继承Android的Activity类
    2. 重写方法
    3. 设置显示布局
    4. 在AndroidManifest文件中,注册Activity

    Activity的生命周期

    1. onCreate();创建
    2. onStart();运行
    3. onResume();获取焦点
    4. onPause();失去焦点
    5. onStop();暂停
    6. onDestroy();销毁
    public class ExampleActivity extends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            // The activity is being created.
        }
        @Override
        protected void onStart() {
            super.onStart();
            // The activity is about to become visible.
        }
        @Override
        protected void onResume() {
            super.onResume();
            // The activity has become visible (it is now "resumed").
        }
        @Override
        protected void onPause() {
            super.onPause();
            // Another activity is taking focus (this activity is about to be "paused").
        }
        @Override
        protected void onStop() {
            super.onStop();
            // The activity is no longer visible (it is now "stopped")
        }
        @Override
        protected void onDestroy() {
            super.onDestroy();
            // The activity is about to be destroyed.
        }
    }

    Activity的四种状态

    1.活动状态(Active/Running )Activity处于界面最顶端获取焦点
    2.暂停状态(Paused)Activity失去焦点,但对用户可见
    3.停止信息(Stopped)Activity被完全遮挡,但保留所有状态和成员信息
    4.非活动状态(Killed)Activity被停止

    附Android的四种数据存储方式
    —SharedPreferences
    —SQLite
    —File
    —Content Provider

    展开全文
  • 详解 Android 的 Activity 组件,详解 Android 的 Activity 组件
  • Activity组件暴露 - exported属性 1. android:exported 该属性用来标示,当前Activity是否可以被另一个Application的组件启动 true 表示允许被启动 false 表示不允许被启动,这个Activity只会被当前...

    Activity组件暴露 - exported属性


    一、android:exported


    该属性用来标示,当前Activity是否可以被另一个Application的组件启动


    1. true

    表示允许被启动


    2. false


    【1】表示不允许被启动,这个Activity只会被当前Application或者拥有同样user ID的Application的组件调用


    【2】关于user ID的参考链接


    http://yelinsen.iteye.com/blog/977683


    3. 默认值


    【1】根据Activity中是否有intent filter标签来定

      -  没有intent filter - 默认值为false

         没有任何的filter意味着这个Activity只有在详细的描述了它的class name后才能被唤醒,这意味着这个Activity只能在应用内部使用,因为其它应用程序并不知道这个class的存在,所以在这种情况下,它的默认值是false


      -  有intent filter - 默认值为true

         如果Activity里面至少有一个filter的话,意味着这个Activity可以被其它应用从外部唤起,这个时候它的默认值是true


    4. 权限控制


    【1】不只有exported这个属性可以指定Activity是否暴露给其它应用,也可以使用permission来限制外部实体唤醒当前Activity


    【2】android:permission  指定启动该Activity所需要的权限名称


    5. 参考链接


    http://blog.csdn.net/watermusicyes/article/details/46460347


    二、触发条件


    1. 定位AndroidManifest.xml文件中的Activity组件


    【1】对应的特征:<activity


    2. exported属性的判断


    【1】android:permission 如果设置权限控制,就认为不存在安全风险


    【2】exported属性设置为true

      显示设置android:exported="true"

      默认值为true,也就是具有intent filter标签,对应的特征:<intent-filter


    3.主Activity(MainActivity)


    【1】应用程序需要包含至少一个Activity组件来支持MAIN操作和LAUNCHER种类,即为主Activity

      对应的特征


    【2】暴露的Activity组件不包括主Activity


    三、漏洞原理


    【1】导出的Activity组件可以被第三方APP任意调用,导致敏感信息泄露,并可能受到绕过认证、恶意代码注入等攻击风险


    【2】详细的原理&POC



    http://drops.wooyun.org/tips/3936


    四、修复建议


    【1】如果应用的Activity组件不必要导出,或者组件配置了intent filter标签,建议显示设置组件的“android:exported”属性为false


    【2】如果组件必须要提供给外部应用使用,建议对组件进行权限控制

    展开全文
  • 【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( 替换 LoadedApk 中的类加载器 | 加载 DEX 文件中的 Activity 类并启动成功 ) https://hanshuliang.blog.csdn.net/article/details/121885164
  • (一)Activity组件:  (1)作用:  显示用户的UI控件,监听UI控件的事件(和用户进行交互),  会影响Android应用进程状态(活动状态,前台状态,后台状态)    (2)如何创建Activity,如何启动Activity?

    (一)Activity组件:

             (1)作用:

                                显示用户的UI控件,监听UI控件的事件(和用户进行交互),

                                会影响Android应用进程状态(活动状态,前台状态,后台状态)

     

              (2)如何创建Activity,如何启动Activity?

                       2.1 创建类,并继承Activity,重写onCreate()生命周期方法

                             oncreate()方法的作用:

                                      该方法主要初始化Activity组件的,在此方法中,一般做3件事情:

                                      分别是:设置显示的UI,查找或初始化UI,事件处理

     

    (二)

           下面先看例子:(1)首先创建完一个Android项目之后,在“res”文件夹下的“layout”文件中,有一个xxx.xml的文件。在该文件夹下重新设置一下"TextView"这个控件,如图所示:

     

          (2)设置后“TextView”控件后,在MainActivity中显示UI控件,初始化UI控件,并进行事件处理,如下图所示:

     

     该简单的Demo运行的效果就是点击“TextView”的控件会随机的变换颜色。

     该篇简单Demo以完成,该代码对刚入门的初学者可以直接敲打使用。

     

    (三)从A页面跳到B页面

               首先,先将B页面的Activity注册到manifest项目清单文件中

               然后,再通过Intent对象,指定要启动的Acticity是B页面

     

               把B(InfoActivity)页面的Activity注册到mainfest项目清单文件中的注意事项,是把要注册的Activity放在<application  </application>之间,因为组件注册都要放在该组件之间。

    又因为第二个activity不是入口activity,所以不用加Intent-filter。(A页面的按钮已在上图示例中写上,上图的Button)

     

      

    在AndroidManifest.xml注册后,在A(mainActivity)页面中设置一个按钮,通过Intent意图来跳转到第二个页面(在上个按钮的onClick()方法下,加上这个跳转到第二个页面的showInfo()按钮监控事件),如图所示。

            

    上图事件处理完后,就可以跳转到B(InfoActivity)页面了。下图提供一种不用在XML文件中设计的UI格式,直接在B页面用代码实现UI。

    (额~~~由于图片大小已超过限制,下面直接贴代码)

     public class InfoActivity extends Activity {
     TextView tv;
     @Override
     protected void onCreate(Bundle savedInstanceState) {
      // TODO 初始化Activity
      //必须要调用父类的初始化方法
      super.onCreate(savedInstanceState);
      
      //1.设置初始化Activity显示的UI
      //Context:应用上下文,访问应用中资源
         tv = new TextView(getApplicationContext());
      tv.setText("第二个页面");
      tv.setPadding(15, 10, 10, 15);
      tv.setBackgroundColor(Color.GRAY);
      
      //显示Activity的UI
      setContentView(tv);
      //设置事件监听
      eventListener();
     }
     
     private void eventListener(){
      tv.setOnClickListener(new View.OnClickListener() {
       
       @Override
       public void onClick(View arg0) {
        // TODO Auto-generated method stub
        Toast.makeText(getApplicationContext(),"H_shaohui"
          ,Toast.LENGTH_LONG).show();
       }
      });
     }
    }

     

    简单Demo已完成,谢谢观看!!!

           

     

    展开全文
  • 详解讲解了 Android开发中的Activity 组件
  • 一个应用程序一般会包含若干个Activity组件,每个Activity组件负责一个用户界面的展现,它们可能运行在同一个进程中,也可能允许在不同的进程中。运行至不同进程中的Activity组件通过Binder进程间通信机制来协作完成...

    Activity是Android应用程序的四大组件之一,负责管理Android应用程序的用户界面。一个应用程序一般会包含若干个Activity组件,每个Activity组件负责一个用户界面的展现,它们可能运行在同一个进程中,也可能允许在不同的进程中。运行至不同进程中的Activity组件通过Binder进程间通信机制来协作完成应用程序的功能。

    Activity组件的启动方式分为显示和隐示两种。对于显示启动的Activity组件来说,我们必须事先知道用来实现它们的类的名称;对于隐示启动的Activity组件来说,我们只需要知道它们的组件名称即可。隐示启动Activity组件可以减少Android应用程序组件间的依赖。


    根Activity组件的启动过程:

    由于根Activity组件代表了一个Android应用程序,因此,它一般是在一个新的进程中启动起来的。


    在Android系统中,所有的Activity组件都保存在一个堆栈中,其中,后面启动的Activity组件位于前面启动的Activity组件的上面。用户在执行一个操作时,通常需要与一系列相关的Activity组件进行交互,这些相关的Activity组件在系统的Activity堆栈中用一个任务(Task)来描述。


    系统的Activity组件堆栈有TasksRecord#2和TasksRecord#3 两个任务,其中,TasksRecord#2包含了一个Lancher组件,表示我们打开了应用程序Launcher.而任务TasksRecord#3包含了一个MainActivity组件,表示我们打开了应用程序Activity。


    MainActivity组件是有Launcher组件来启动的,而Launcher组件又是通过Activity管理服务ActivityManagerService来启动MainActivity组件的。由于MainActivity组件,Launcher组件和ActivityManagerService是分别运行在不同的进程中的。因此MainActivity组件的启动过程就涉及到了三个进程。这三个进程是通过Binder进程间通信机制来完成MainActivty组件的启动过程。


    Launcher组件启动MainActivity组件的过程如下:

    1.Launcher组件向ActivityManagerService发送一个启动MainActivty组件的进程间通信请求。

    2.ActivityManagerService首先将要启动的MainActivity组件的信息保存下来,然后再向Launcher组件发送一个进入终止状态的进程间通信请求。

    3.Launcher组件进入到中止状态后,向ActivityManagerService发送一个已进入中止状态的进程间通信请求。

    4.ActivityManagerService发现用来运行MainActivity组件的应用程序不存在,就会启动一个新的应用程序进程。

    5.新的应用程序进程启动完成后,就会向ActivityManagerService发生一个启动完成的进程间通信请求。

    6.ActivityManagerService将第二步保存下来的MainActivity组件的信息发送给第4步创建的应用程序进程,以便它可以将MainActivity组件启动起来。




    展开全文
  • 这篇文章是Android研发安全之Activity组件安全第二篇,本文将给大家分享Activity界面劫持方面的预防知识。什么是Activity劫持 简单的说就是APP正常的Activity界面被恶意攻击者替换上仿冒的恶意Activity界面进行攻击...
  • Activity组件介绍(一):生命周期

    千次阅读 2014-08-08 19:21:20
    Activity是Android程序的四大组件之一(其他三大组件分别是Service、Broadcast Receiver、Content Provider)。 Activity是Android程序的表示层。程序的每一个显示屏幕就是一个Activity。 学过WEB开发的同学,可以...
  • 本文参考  1. Gityuan博文:startActivity启动过程分析  2. 老罗博文:Activity组件的启动过程 整理文档 网盘地址:https://pan.baidu.com/s/1hrEn2O8
  • Activity是Android组件中最基本也是最为常见用的四大组件Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一。Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互...
  • 在Android系统中,Activity组件在启动之后,并且在它的窗口显示出来之前,可以显示一个启动窗口。这个启动窗口可以看作是Activity组件的预览窗口,是由WindowManagerService服务统一管理的,即由...
  • 1.Activity类的onCreate()方法 2.在Activity类中调用其他的Activity并传递数据 由于初学,知识有限,此作为我的读书笔记,见笑了。
  • Jetpact-activity组件完全解析

    千次阅读 2020-11-12 11:22:29
    Jetpact-activity组件完全解析 文章目录Jetpact-activity组件完全解析前言源码解析构造器Activity停止时取消View还未执行的事件View层处理移除点击事件回调移除长按事件Activity销毁时清除ViewMode中数据...
  • 本文实例讲述了Android编程四大组件Activity用法。分享给大家供大家参考,具体如下: 这里详细介绍如何创建Activity、生命周期、内存管理、启动模式。 创建Activity 一.定义Activity 1. 定义Activity 定义类继承...
  • 这是一个AccountManagerService的漏洞,利用这个漏洞,我们可以任意调起任意未导出的Activity,突破进程间组件访问隔离的限制。这个漏洞影响2.3 ~ 4.3的安卓系统。 一.关于AccountManagerService ...
  • Android中Activity组件详解

    千次阅读 2011-06-08 22:48:00
    1.Activity 的生命周期和J2ME的MIDlet一样,在Android中,Activity的生命周期交给系统统一管理。与MIDlet不同的是安装在Android中的所有的Activity都是平等的。⑴Activity 的状态及状态间的转换在 android 中,...
  • 1. 掌握activity组件生命周期函数的用法 2. 掌握使用intent实现activity之间的跳转 3. 掌握在manifest文中定义多个activity,并指定Launcher Activity
  • Android 的 Activity 组件

    千次阅读 2012-07-02 22:58:47
    跳转到主要内容 登录 (或注册) 中文 技术主题 软件下载 社区 技术讲座 ...详解 Android 的 Activity 组件 张 勇, Android 软件工程师, 重庆索伦
  • Android 组件导出风险及防范

    千次阅读 2021-09-03 16:15:58
    文章目录前言一、四大组件二、组件导出必要性三、组件导出风险四、如何防范总结 前言 近年来,移动APP存在一个非常的重要的问题就是安全问题,造成的后果有可能是用户的隐私泄露和财产损失等,对于一款成熟的APP...
  • Android四大组件 - Activity知识点总结

    千次阅读 2018-08-16 20:45:53
    Activity是一个应用组件,用户可与其提供的屏幕进行交互,以执行拨打电话、拍摄照片、发送电子邮件或查看地图等操作。 每个 Activity 都会获得一个用于绘制其用户界面的窗口。窗口通常会充满屏幕,但也可小于屏幕并...
  • Activity组件研究

    千次阅读 2016-11-10 11:34:47
    Activity组件研究Activity启动过程 相关简介 Activity: Activity的父类 Instrumentation: 用于监控应用程序和系统之间的交互操作 ActivityThread: 管理应用进程的主线程的执行,并根据AMS的要求...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 180,338
精华内容 72,135
关键字:

activity组件

友情链接: MC9S12系列文件.zip