我正在开发一个Android应用程序,当用户输入许可证代码时,从Web服务检索一些简单的键值数据并保存到共享偏好。
我的应用程序也有一项服务,该服务从单独的流程开始,需要从共享偏好中获取以前保存的数据的一部分。
我的主应用程序可以说是在" com.foo.myMainApp"包。我的服务是" com.foo.myMainApp / myService"。
问题是,该服务无法访问主程序的共享首选项,因为它们保存在不同的位置。
我在这个问题上挣扎了好几天,但却找不到出路。
任何帮助都将不胜感激。
答案 0 :(得分:0)
在服务中
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("ACTION");
broadcastIntent.putExtra("MESSAGE", "hello");
sendBroadcast(broadcastIntent);
在MainACtivity中 注册这个广播接收器和你的好消息。
private class Message extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// get the message here
}
}
//在onStart上注册 registerReceiver(new Message(),new IntentFilter(" ACTION"));
希望这有助于:)