最近碰到一个面试题:给你一个应用程序,你没有他的源码,怎么在他的一个界面嵌入一个控件,这个控件可以做一些事情,比如关闭声音,等等。

解决方案 »

  1.   

    反编译了直接改对应layout的xml是可以添加一个控件的,只要你把控件的属性设置好了就行。
    增加功能可能就要改smali了
    改完回编译回去,再签名就可以用了。
      

  2.   

    这个问题是不是想让我们添加一个view,在这个view里可以做我们想做的事,有点类似桌面添加widget效果,问问题是我们怎么拿到它的界面的一个view  然后通过addView这类方法添加我们的view,不知道理解的对不对?个人猜测。
      

  3.   

    怎么不能像360一样,检测到进入了主界面,我们就搞个悬浮的view,用来关闭声音呢?
      

  4.   

    这个也不难,你需要知道这个空间的任何一个父节点就行了,关闭声音调用系统统一接口,android多媒体曾会有全局控制声音引擎的东东
      

  5.   


    获取一个子节点,找出layout层,添加显示,如果当前的Activity属性是单个的时候就容易多了吧
      

  6.   


    activity具体的单个属性什么呢?可以举个例子吗?