gpt4 book ai didi

android - 声明后在onCreate中访问Android服务

转载 作者:行者123 更新时间:2023-11-30 04:30:33 25 4
gpt4 key购买 nike

当我运行以下代码时,服务值为空。但是,如果我从 onCreate 之外的东西(如按钮)调用它,它就会起作用。

如何在没有用户输入的情况下从 onCreate 方法访问它。

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getApplicationContext().bindService(new Intent(ISoundControlService.class.getName()),
serConnSound, Context.BIND_AUTO_CREATE);
try {
soundService.start();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

更新:获取服务...

private ServiceConnection serConnSound = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
soundService = ISoundControlService.Stub.asInterface(service);
}

@Override
public void onServiceDisconnected(ComponentName name) {
soundService = null;
}
};

最佳答案

我会说:你不能

这就是 ServiceConnection 的全部要点。它是异步初始化的,您必须处理这个事实。当 onServiceConnected 被调用时,您的服务将可用。只要您在等待该回调,您的服务变量就会是 null...

关于android - 声明后在onCreate中访问Android服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7810304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com