gpt4 book ai didi

android - 如何从另一个 Activity 调用 stopService?

转载 作者:行者123 更新时间:2023-11-29 20:55:26 25 4
gpt4 key购买 nike

Android 编程新手。你能告诉我如何将 View 作为参数传递吗?

public class MainActivity extends ActionBarActivity {
...
public void stopService(View view) {
stopService(new Intent(getBaseContext(), MyService.class));
}
}

public class MySmsReceiver extends BroadcastReceiver {
...
MainActivity obj = new MainActivity();
obj.stopService();
}

我已正确编写 MyService.java 代码。

谢谢

最佳答案

首先,您必须在 onStop() 中解除服务与先前 Activity 的绑定(bind)。否则您可能会遇到窗口泄漏异常。

将停止服务的代码放在应用程序类中。

public class AppController extends Application {
private static AppController mInstance;

public static synchronized AppController getInstance() {
return mInstance;
}
.........

public void stopService(View view) {
stopService(new Intent(getBaseContext(), MyService.class));
}
}

然后您可以从任何类中获取 Application 对象,并且您将能够从任何 Activity 中停止该服务,但在此之前您必须在 onStop() 中解除该服务与其他 Activity 的绑定(bind).

要从任何地方停止服务,请调用:

AppController.getInstance().stopService();

关于android - 如何从另一个 Activity 调用 stopService?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27897283/

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