- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个可以通过多种方式停止的服务。每当我调用 stopService(Intent) 时,我都会传递一个带有一些额外内容的 Intent 。您如何检索这些额外内容?
谢谢。
最佳答案
您需要覆盖 onStartCommand()
在你的Service
这就是您如何从 startService
获取对传入 Intent 的引用.
在这种情况下,您的 Intent 中会有一个特殊的操作来告诉服务自行停止。您为此 Intent 添加了额外内容,可以在 onStartCommand()
中阅读方法。
示例代码
public class MyService extends Service {
@Override
public int onStartCommand(final Intent intent, final int flags, final int startId) {
final String yourExtra = intent.getStringExtra(YOUR_EXTRA_ID);
// now you can e.g. call the stopSelf() method but have the extra information
}
}
解释
每次您调用 context.startService(Intent)
onStartCommand()
将被调用。如果该服务已经在运行,则不会创建新服务,但 onStartCommand
仍然被称为。这就是您如何通过附加到正在运行的服务来获得新 Intent 。
关于android - stopService(intent_with_extras) - 你如何从服务中读取这些额外内容以停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4693943/
我正在学习前台服务,并创建了一个通知 channel 以确保它保持服务处于 Activity 状态。问题是,即使我调用 stopService 方法,应用程序也不会停止。通知确实消失了,但应用程序仍然
这是我运行的代码,用于停止在后台运行的服务。如果我按下停止按钮,服务就会继续运行。来自 onDestroy 函数的 toast 运行但服务不会停止。有什么帮助吗? public void onC
将 stopService() 停止作为 foreground service 运行的服务?它似乎胜过前台服务的重要性,但也“感觉”到它胜过前台服务的重要性。 最佳答案 已确认:是 - 正在运行 st
当调用 Activity 退出时,我从调用类调用了 stopService() 方法,服务没有停止。它一直在后台运行,因此可能会给最终用户带来麻烦。任何帮助将不胜感激.. 代码: public cla
我正在学习如何处理服务..我创建了一个小示例。 mainActivity 向服务发送一个整数,服务使用该整数作为循环中的最大迭代,如下面的代码所示。 问题是当我调用 stopService(inten
我有一项服务,每 15 分钟检查一次 Web API 以获取一些信息,然后会收到一条通知。现在,当我单击注销按钮时,我正在执行 stopService 来停止正在运行的服务。我在我的设置中运行的应用程
我有一个后台服务,当在 UI 上按下相应的按钮(“连接”和“分别断开连接”)。 我在服务停止时执行大量清理操作,我将这些操作放在服务的 onDestroy() 中,假设只要 stopService()
我知道以前有人问过很多关于如何停止服务的问题,但我没有找到解决我的特定问题的问题。 在我的应用程序中,我有许多与一个中央服务通信的 Activity 。对于每个 Activity ,我在它们的 onR
我有一个 android 服务,即使 Activity 关闭也需要运行! 如果屏幕OFF,该服务不需要做任何事情。 如果屏幕ON,服务开始工作! 所以我的问题是,最好是删除所有处理程序回调(保持服务)
我使用唯一的 id 值多次启动 IntentService。当我重新创建 Intent 并使用它在当前 IntentService 上调用 stopService 时,整个 IntentService
我尝试使用 TimerTask 从服务器 api 下载数据,任务在后台应用程序中循环。 我有一个服务类: public class RequestNewInvoice extends Service
我有一个奇怪的问题。我正在使用 Apache 服务来配置我的 Windows 服务。根据 Procrun,我的批处理文件应该配置为启动和停止服务。我的问题是当我启动应用程序时,会执行启动服务。但不是停
我正在使用以下语句停止在后台运行的下载服务(扩展 IntentService): context.stopService(intent); 但是这个语句并不是立即调用服务的onDestory(
我有一个可以通过多种方式停止的服务。每当我调用 stopService(Intent) 时,我都会传递一个带有一些额外内容的 Intent 。您如何检索这些额外内容? 谢谢。 最佳答案 您需要覆盖 o
我在停止播放音频文件的服务时遇到了很大的问题。我想在播放另一个文件之前停止当前服务。 Activity : public void playTrack(View view){ In
我的 android APP 上有一个后台服务,它正在获取我的 GPS 位置并将其发送到远程数据库。它工作正常。 问题是当我想停止服务时......它不会停止:S。 logcat 上也没有出现异常或错
我目前有一个服务,当我启动它时运行良好,但是当我尝试使用 stopService 方法停止它时,它的 onDestroy 方法不会被调用。 这是我用来尝试停止服务的代码 stop_Scan_Butto
Android 编程新手。你能告诉我如何将 View 作为参数传递吗? public class MainActivity extends ActionBarActivity { ... pu
使用服务上传图像 在我的应用程序中,我正在将图像上传到服务器,我使用后台服务来执行此操作,上传是在服务中的另一个线程中执行的。我已经读到,服务在 UI 线程上运行,服务中的线程是另一个进程,我需要的是
您好,我正在开发一个应用程序,我需要将我的 stopService();在 AlertDialog.Builder 的 PositiveButton 中,但出现错误,我的代码是: ....其他代码 .
我是一名优秀的程序员,十分优秀!