stopService(intent_with_extras) - 如何从服务中读取这些额外内容以停止?

eka*_*was 3 service android android-intent

我有一个可以多种方式停止的服务.每当我调用stopService(Intent)时,我都会传递一些额外的意图.你如何检索这些额外的东西?

谢谢.

Nat*_*ann 6

你需要在这里覆盖onStartCommand()Service如何获得对传入意图的引用startService.

在这种情况下,您将有一个特殊的操作意图告诉服务停止自己.您可以在此计划中添加额外内容,可以在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
    }
}
Run Code Online (Sandbox Code Playgroud)

说明

每次打电话context.startService(Intent) onStartCommand()都会被打电话.如果服务已在运行,则不会创建新服务,但onStartCommand仍会调用该服务.这就是你如何通过附加功能获得正在运行的服务的新意图.

  • 每次调用context.startService(Intent)时都会调用startCommand.如果服务已在运行,则不会创建新服务,但仍会调用startCommand.这是您如何获得正在运行的服务的新意图.希望这可以帮助. (2认同)