假设当前处在主界面,想判断点击某操作才会打开的activity是否已经打开

解决方案 »

  1.   

    为啥要这样做呢,你可以通过ActivityManage获得所有的activity。也可以写个文件嘛,通过文件标志判断是否activity已经打开
      

  2.   

    activity有六个生命周期,你可以设置其中的方法!然后用log日志输出,查看activity是否处于打开状态!
      

  3.   

    可以记录当前打开的Activity,将值放到全局中,即可以实现你的需求
      

  4.   

    我目前也是只想到这样,但是存application,老觉得不好.
      

  5.   

    我也在做同样的应用,根据Activity是否开启,来决定通知栏点击事件。你通知栏应该是通过服务来启动的把,那你启动Activity的时候,在启动事件里(onCreat)可以告诉Service你已经启动了。
    关键是怎么告诉Service,方法有很多,哪个好是最关键的用perference,还是广播。想来想去可能还是广播比较靠谱。
    因为如果用perference,一个应用程序范围内全局的轻量级配置模块,意味着Service每次收到信息后都要去读取。虽然是轻量级的,但我是菜鸟啊我不知道底层效率究竟如何。假如一天收到1000条信息,就要读1000次配置啊。
    如果用广播的话就好很多,启动的时候收一次,关闭的时候再收一次汗,5月的帖子不知道LZ现在解决了没解决的话,看在我这么认真回帖的份上,告诉我你的解决方法,让我参考参考。。邮箱[email protected]我的程序是有很多Activity,登陆,各种界面唉,我更复杂、、我都不知道应该把“通知服务我已经开启”的事件写在那里。。如果写在登陆的Activity上,登陆后面因为资源问题被系统回收怎么办,登陆的关闭事件就会告诉服务它已经关闭了,而用户实际上正在使用登陆后面的Activity...
      

  6.   

    我也在做同样的应用,根据Activity是否开启,来决定通知栏点击事件。你通知栏应该是通过服务来启动的把,那你启动Activity的时候,在启动事件里(onCreat)可以告诉Service你已经启动了。
    关键是怎么告诉Service,方法有很多,哪个好是最关键的用perference,还是广播。想来想去可能还是广播比较靠谱。
    因为如果用perference,一个应用程序范围内全局的轻量级配置模块,意味着Service每次收到信息后都要去读取。虽然是轻量级的,但我是菜鸟啊我不知道底层效率究竟如何。假如一天收到1000条信息,就要读1000次配置啊。
    如果用广播的话就好很多,启动的时候收一次,关闭的时候再收一次汗,5月的帖子不知道LZ现在解决了没解决的话,看在我这么认真回帖的份上,告诉我你的解决方法,让我参考参考。。邮箱[email protected]我的程序是有很多Activity,登陆,各种界面唉,我更复杂、、我都不知道应该把“通知服务我已经开启”的事件写在那里。。如果写在登陆的Activity上,登陆后面因为资源问题被系统回收怎么办,登陆的关闭事件就会告诉服务它已经关闭了,而用户实际上正在使用登陆后面的Activity...
      

  7.   


    额,我的服务就是起一个连接服务器,监听消息的作用,
    至于activity是否开启和回到桌面,可以通过activity的生命周期搞定.
    你后面提到的被系统回收,这个肯定会有发生,连服务都可能被杀掉.
    所以这个聊天软件的连接需要放到service里处理.
      

  8.   

    设置android:launchMode="singleInstance" 这样可以解决你那个问题