首页 > 解决方案 > 进程可以在android中共享变量吗?

问题描述

我在 AndroidManifest.xml 中为我的服务使用 android:process 但我必须与原始进程(主 gui)共享变量。

我知道在进程之间共享内存是不可能的。所以我必须使用共享内存之类的东西。

所以 android:process 也不能共享变量吗?即使是静态变量?

标签: android

解决方案


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);

推荐阅读