【问题标题】:Android java - Correct way of onActivityResult() with local service working?Android java - onActivityResult() 与本地服务工作的正确方法?
【发布时间】:2013-11-14 11:12:00
【问题描述】:

我有一个本地服务,我让我的程序在 onServiceConnected 方法中走得更远:

intentaudio=new Intent(this,AudioService.class);
    sConn=new ServiceConnection() {

        @Override 
        public void onServiceDisconnected(ComponentName name) { 
        // TODO Auto-generated method stub 
            bound=false; 
        }

        @Override
        public void onServiceConnected(ComponentName name, IBinder binder) { 
        // TODO Auto-generated method stub
            audioService = ((AudioService.MyBinder) binder).getService();
            bound = true;
body(); //this is the main code for the Activity - I moved it to separate method
        }
    };

  startService(intentaudio);
  bindService(intentaudio, sConn, 0);

所以,在这个活动中,我开始另一个活动:

  intent=new Intent(mContext,Prayer.class);
        startActivityForResult(intent,1);

第二个活动进展顺利,但是..如果我回去 - 我不知道该怎么办。

在 onActivityResult - 我需要服务连接回来,所以我应该做另一个

sConn=new ServiceConnection() {... 等等,但我怎样才能让 Activity 继续连接到服务?如您所见,整个活动都在onServiceConnected 方法中,因此它可以立即与服务交互。所以..我只是不知道该怎么办。

请帮忙!

【问题讨论】:

    标签: java android service onactivityresult


    【解决方案1】:

    利用 onpause onrestart onresume..

    【讨论】:

    • 对不起,我的回答不清楚,我的意图是在您使用 onrestart 或重新创建活动返回上一个活动时使用重新启动您的服务..
    • 好的,看.. 这个活动在 onServiceConnected 方法中,第二个活动也在 onServiceConnected 方法中工作。那么当我回到 onActivityResult 方法时 - 如何正确重启服务连接?
    • 你的意思是可以同时在两个Activity中绑定?
    • 如果您正在启动服务应用程序级别,它不会发生在您所在的位置,如果活动级别我们必须以不同的方式处理服务..
    猜你喜欢
    • 2015-11-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 2021-01-22
    • 2013-05-06
    • 1970-01-01
    相关资源
    最近更新 更多