大家好: 我想实现这样的功能:
 1, 当点击一个按钮时, 弹出一个悬浮框,然后回到桌面(当前activity这个界面就消失了) ,
2,等我再次点击悬浮框上的按钮时,就再次弹出我的Activity界面了, 就类似360的那个悬浮框一样,请问这个是怎样做的,谢谢
!我会做一个悬浮框,可以用:
  Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
这样的形式回到桌面,
但是 怎么当点击悬浮框上的按钮, 回到我的Activity界面呢,谢谢!???

解决方案 »

  1.   

    一样使用startactivity啊 ,我做过这个。
      

  2.   

    哦,谢谢,我想问下这样 startActivity后,是新建了一个Activity还是返回到之前的那个Activity呢?如果是新建,那么岂不是操作几次之后,产生很多个Activity, Activity栈中越积越多吗, 那么之前的那个Activity还是处于onPause状态?谢谢!
      

  3.   

     度娘搜索Activity启动模式。
      

  4.   

    哦,谢谢各位精彩的回复, 我现在就google一下,呵呵,很少用度娘,  等有结果填上来.
      

  5.   

    看你的activity的启动模式是什么了,先问一下,你的悬浮框显示中,你的主程序是啥情况,server运行还是activity在后台?
      

  6.   

    谢谢,我的主程序:
    我采用:
    Intent intent = new Intent(); 
    intent.setAction(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    startActivity(intent);
    这样来的话,Activity就压栈了,虽然有一个jni的线程在运行. 但很多Activity中的变量就不能用了,那么我这个悬浮框运行的东西,实时变化的数据就全要写到jni的线程中了? 是这种情况吗,谢谢!难道一定需要 service才行????
      

  7.   

    现在还是无法返回, 再悬浮框中一点击 按钮,运行到startActivity中程序就中断了,系统提示"停止运行",就退出了,但是我再次 点击app开始,发现activity还在压栈着,就像按下了home键一样.
    我先说下我的程序:  是一个视频播放器, 画面用surfaceview 在jni层直接绘制上去.播放Activity只负责控制一些动作. 当点击悬浮按钮后, 在系统的WindowManager创建addView,这样就了一个悬浮框,然后在创建:
    Intent intent = new Intent(); 
    intent.setAction(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    startActivity(intent);
    这样就回到home界面,貌似把我的activity隐藏起来了,这样就完成了悬浮过程.现在的问题是 在点击悬浮框上的按钮后,无法回去了, 程序走到StartActivity就退出了, 请问下这个是怎么回事,谢谢!
      

  8.   


    Intent intent = new Intent();
    intent.setClass(mContext, xxx.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            mContext.startActivity(intent);
    之前写的代码,运行正常,你参考下。
      

  9.   

    哦,谢谢了,看来只能NEW_TASK 了,但这样的话,感觉就像重新建立一个task,就是一个新的栈了,并没有回到之前的app中去,
    我测试多遍发现这样一个现象:弹出流程: 
                ActMain -->启动  ActA---> ActB(开始悬浮)--->弹出悬浮框 
    当点击悬浮框上的退出按钮时:
            弹出悬浮框--> ActB---> 直接退出了, 没有再次返回ActA--->ActMain---这样退出.感觉就是New_task了,是新建了一个栈,或许是自己的能力有限吧,先这样把, 等android通了再说.呵呵.