【问题标题】:General Query About How To Detect What Intent Called The Service关于如何检测调用服务的意图的一般查询
【发布时间】:2015-02-10 01:28:13
【问题描述】:

所以我有一个应用程序,最多可设置 8 项不同的设置,我一直在尝试传递哪个 PendingIntent 或 Intent 触发了我的服务,但都无济于事。我尝试使用 .getExtra() 和 .putExtra() 并试图弄清楚 int 标志和 startId 的作用,但没有任何效果。有人可以告诉我一种方法可以弄清楚我的服务调用了哪个意图/待处理的意图吗?谢谢。

【问题讨论】:

    标签: android android-intent android-service android-pendingintent


    【解决方案1】:

    onStartCommand() 中,您会通过Intent。那应该包含你的“额外”。

    【讨论】:

      【解决方案2】:

      您应该能够在您的活动中调用 getIntent() 来获取此信息:http://developer.android.com/reference/android/app/Activity.html#getIntent()

      【讨论】:

      • 好的,那么getIntent()返回的值会是什么数据类型呢?整数或字符串还是什么?
      • getIntent() 将返回一个 Intent 对象。可以通过调用 getIntent().getExtras() 来获取附加功能 - developer.android.com/reference/android/content/… 这将为您提供一个包含您的值的包(从 getInt()等方法获得>) - developer.android.com/reference/android/os/Bundle.html
      • 是的,我不能在扩展服务的类中使用 getIntent() :(
      • 有没有办法可以使用方法来获取意图的身份?
      • 在您的服务中,您是否通过bindService(...) 方法连接到它?如果是这样,其中一个参数也是调用 Intent。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-04
      • 1970-01-01
      • 2016-06-05
      • 1970-01-01
      • 2014-12-08
      • 2021-02-01
      • 1970-01-01
      相关资源
      最近更新 更多