android - 进程可以在android中共享变量吗?
问题描述
我在 AndroidManifest.xml 中为我的服务使用 android:process 但我必须与原始进程(主 gui)共享变量。
我知道在进程之间共享内存是不可能的。所以我必须使用共享内存之类的东西。
所以 android:process 也不能共享变量吗?即使是静态变量?
解决方案
jsut 可以通过以下方式共享数据
String data="你想叫你什么数据库"
context.getApplicationContext().getSharedPreferences(data, Context.MODE_PRIVATE).get("variableName")
... .set("variableName","variable");
如果您还想对事件做出反应:
LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent("action_value").putExtra("key","value"));
和
IntentFilter iFilter=new IntentFilter(); iFilter.add("action_value") //每个接收者必要的白名单
LocalBroadcastManager.getInstance(context).registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
//do Stuffs
}
},iFilter);
推荐阅读
- vb.net - 如何在 VB.NET 项目中对应用程序启动表单列表进行排序
- ruby - ActiveJob rescue_from 返回成功而没有提升和失败
- php - 学说合并没有按预期工作
- c++ - 重启系统后我的dll服务消失了
- python - 在某些单词之后拆分或分区字符串
- wordpress - Vue.js Axios Wordpress 调用
- azure - Azure 函数抛出 Microsoft.AspNetCore.Server.Kestrel.Core:已添加具有相同密钥的项
- github - GitHub 声称已经有 11 亿的贡献。什么是贡献?
- java - Minio Gradle 依赖 android javax.annotation.CheckReturnValue
- php - AJAX 在 localhost 中有效,但在实时网络中无效