我有一个扩展Application
的类public class MyApp extends Application
{
@Override
public void onCreate()
{
super.onCreate();
Intent intent = new Intent(this, MyService.class);
startService(intent);
Log.i("Try","App ID = " + intent.getStringExtra("MyID"));
}
}
我还有一个生成ID的服务。
public class MyService extends Service
{
public void onStartCommand(Intent intent, int flags, int startId)
{
intent.putExtra("MyID", getID);
}
public String getID()
{
//code to generate ID
return ID;
}
}
我的问题是我需要将ID从MyService传递到MyApp,但Log指出“App ID = null”。
答案 0 :(得分:0)
您有几个选择:
绑定到服务并通过调用mService.getID()获取您的ID(请参阅:http://developer.android.com/guide/components/bound-services.html以了解绑定服务);
从您的服务中发送本地广播,在目标附加内容中传递生成的ID。在您想要捕获广播的任何地方注册BroadcastReceiver(请参阅示例代码:how to use LocalBroadcastManager?)。
答案 1 :(得分:0)
有很多选择: