0

我的应用程序需要收到有关其首选项更改的通知。我正在使用这个 api,一切正常:

PreferenceManager.getDefaultSharedPreferences([my component]).registerOnSharedPreferenceChangeListener([my component]);

此代码在启动时执行,为android.intent.action.BOOT_COMPLETED注册一个 BroadcastReceiver 。

我想保留所需的最低权限配置文件,所以我想知道是否可以通过应用程序清单中的 xml 注册共享首选项更改侦听器,以便我可以删除 BroadcastReceiver 并删除权限:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

提前致谢,

大号

4

1 回答 1

0

此代码在启动时执行,为 android.intent.action.BOOT_COMPLETED 注册一个 BroadcastReceiver。

这是没用的,因为您的进程应该在执行此代码后不久消失,从而删除您的侦听器。

我想知道是否可以通过应用程序清单中的 xml 注册共享首选项更改侦听器,以便我可以删除 BroadcastReceiver 并删除权限

不,对不起。

一个 linux-subsystem 守护进程在这个共享首选项文件上读写

正在运行的 Java 进程不会看到对首选项文件的更改,这些更改是由另一个进程进行的。

SharedPreferences是一种数据存储机制。它不是进程间通信机制。要在本机进程和 Dalvik 进程之间进行通信,请使用BinderAndroid 系统服务的方式。

于 2013-04-02T14:03:13.860 回答