活动互动

时间:2014-02-04 17:42:53

标签: android android-intent android-activity

我有3 ActivitiesActivity A是主Activity BC Activities叫做。 B Activity设置为CActivityToggleButton主要操作。我需要在B中实现C,这是B按下按钮后设备是否会振动的原因。因此,有必要连接CStartActivity (Intent)/StartActivityForResult (Intent)。如果使用Intent,则需要调用ToggleButton方法。由此可见,在B中按C时,B将调用ToggleButton。而且我没必要。我需要按下C“某些东西”被记住“某处”,然后当{{1}}被调用时,它将导致设备振动。如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

SharedPreferences可能是处理此问题的最佳方法。在Activity B为vibrate创建SharedPreferences,在按下切换时设置为布尔值“true”,然后在Activity C中检查SharedPreferences以获取所述值并采取相应的行动。

答案 1 :(得分:1)

您可以使用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存储键值对。详细了解他们herehere