我正在从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();
答案 0 :(得分: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
答案 1 :(得分:0)
在获取意图的同时将代码放入onBind()方法中
服务:
@Override
公开IBinder onBind(意图){
mTourName = intent.getStringExtra(“ tour_name”);
返回mBinder;
}
尝试一下。