服务在意图中接收 Null 值
Posted
技术标签:
【中文标题】服务在意图中接收 Null 值【英文标题】:service receiving Null values in an intent 【发布时间】:2020-05-05 02:19:02 【问题描述】:我正在从 BroadcastReceiver 启动一个服务并将一些值从 BroadcastReceiver 发送到该服务。当我试图在服务中检索这些值时,它给了我空值。
请让我知道我做错了什么。提前致谢!
从广播开始服务-
Intent serviceIntent = new Intent(context, LatestCallService.class);
intent.putExtra("from","Internet");
context.startService(serviceIntent);
在服务中检索价值但给出 Null-
public int onStartCommand(Intent intent, int flags, int startId)
super.onStart(intent, startId);
String a= intent.getStringExtra("from");
Toast.makeText(this, " Name : "+a, Toast.LENGTH_SHORT).show();
【问题讨论】:
你的代码看起来不错,你添加了breakpoint
并检查了吗?
【参考方案1】:
@Override
public void onReceive(Context context, Intent intent)
Toast.makeText(context, "Event", Toast.LENGTH_SHORT).show();
intent = new Intent(context, MyService.class);
intent.putExtra("check","done");
context.startService(intent);
使用 onReceive 方法中的 Intent
【讨论】:
非常感谢。它奏效了,您的解决方案为我节省了大量时间,但您能告诉我为什么我们使用从广播接收器获得的相同意图吗?【参考方案2】:在获取意图时,将代码放入 onBind() 方法 服务: @覆盖 公共IBinder onBind(意图意图) mTourName = intent.getStringExtra("tour_name"); 返回 mBinder;
试试这个。
【讨论】:
我试过了,这次 Toast 也不来了。以上是关于服务在意图中接收 Null 值的主要内容,如果未能解决你的问题,请参考以下文章
Google Apps 脚本中的成功处理程序从服务器函数接收 null
Android:意图通过通知传递给活动......我在意图中没有得到正确的额外内容
通过 jQuery GET 调用传递参数在服务器端接收 null
附加到表单数据的 JavaScript 对象在服务器上始终作为 null 接收