我有3个Activities,让Activity A是调用B和C Activities的主要Activity。B是带有设置的Activity,而C是具有主要操作的Activity。我需要实现ToggleButton在B,这是负责设备是否会振动后,按下按钮在C。因此,必须将B和C连接起来。如果使用意图,则有必要调用StartActivity (Intent)/StartActivityForResult (Intent)方法。由此可以看出,当在B中按下B时,C将被B调用。这对我来说是不必要的。我需要当按ToggleButton时,“某样东西”被记在“某处”,然后当C被调用时,它会引起设备振动。如何解决这个问题?
发布于 2014-02-04 17:51:03
您可以使用SharedPreferences存储一些状态,例如:
SharedPreferences prefs = getSharedPreferences("myprefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("key_string", "jack");
editor.putInt("key_int", 30);
editor.putBoolean("vibrator", false);
editor.commit();当你需要的时候,你可以读到:
SharedPreferences prefs = getSharedPreferences("myprefs", Context.MODE_PRIVATE);
String name = prefs.getString("key_string", "defaultName");
int age = prefs.getInt("key_int", 25);
boolean vib = prefs.getBoolean("vibrator", true);基本上,SharedPreferences存储键值对.阅读更多关于他们的这里和这里。
发布于 2014-02-04 17:48:28
SharedPreferences可能是处理此问题的最佳方法。在Activity B中,创建一个用于振动的SharedPreferences,当按下切换键时,设置为布尔值"true“,然后在Activity C中检查所述值的SharedPreferences并采取相应的行动。
https://stackoverflow.com/questions/21559589
复制相似问题