0

我正在开发一个应用程序,该应用程序使用主屏幕小部件来播放来自源的声音,用户在应用程序的主要活动中选择了该应用程序。一段时间后,我的应用程序丢失了有关分配的源文件的信息,我必须重新输入主要活动才能再次选择声音。我猜这是因为我的应用程序被操作系统杀死或进入休眠状态。

所以我的问题是如何使我在主要活动中所做的那些设置持久化,以便我的主屏幕小部件在一定时间后不会停止工作。

另外我想知道是否需要以某种方式保持这个主要活动,因为当按下按钮时主屏幕小部件正在向它发送广播,以便让它向我的媒体播放器服务发送一条消息,它会播放声音。

4

1 回答 1

1

您需要使用 SharedPreferences。

//Set the shared preferences
SharedPreferences prefs = getSharedPreferences("myPrefs", 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("myString", "myValue");

//Get the shared preferences
string myString = prefs.getString("myString");

关于问题的第二部分,您可能需要运行广播接收器和活动可以使用的后台服务。

活动不应由小部件控制,而是活动 GUI 和小部件控件访问后台服务中的方法来控制媒体播放器服务。

我不太了解媒体播放器服务或后台任务,所以也许有人有更好的方法,但希望能让你入门。

有关 android 服务的一些信息可以在http://developer.android.com/reference/android/app/Service.html找到

于 2013-08-05T09:56:50.453 回答