如何在主活动中访问 PpreferencesActivity 的 onDestroy()?



我不想使用:

onSharedPreferenceChanged

因为我的Live Wallpaper每次发生设置时都会重新初始化(使其崩溃、堆栈溢出!)

相反,我想打电话给

onDestroy() 

根据具有ATM:的主要活动期间的设置进行计算

 SharedPreferences.OnSharedPreferenceChangeListener

我想这样做是因为它节省了性能&允许我重新初始化我的主类。

我该怎么做?

假设OnSharedPreferenceChangeListenerOnSharedPreferenceChanged()在设置更改时被调用?这就是他们在那里的目的,所以当设置发生变化时,他们的效果会立即显现出来。

我不太明白你为什么要调用onDestroy()?这只在应用程序出现故障时调用。。。所以我想你可以简单地说:

this.finish(); // <- Will eventually call onPause(), onDestroy()

如果你想重新启动你的应用程序,为什么不说完成你的活动,并通过启动一个新的应用程序呢

StartActivity();

因此,您是在用新数据完全重新初始化您的活动吗?

然而,我会坚持使用您的OnSharedPreferenceChanged(),并尝试找出真正导致错误的原因,而不是抽象过程。

[更新]

主要活动.java

[...]
public static void DoSomething(){
// Do something in main, from any other?
}
[...]

首选活动.java

@Override
public void onDestroy(){
super.onDestroy();
MainActivity.DoSomething();
}

最新更新