用户启用事件"从未知来源下载"来自设置

时间:2015-10-28 13:25:59

标签: android

我需要在用户启用"从设置"下载未知来源时收到通知。这有可能吗?

干杯

1 个答案:

答案 0 :(得分:1)

不幸的是,当用户更改Unknown Sources配置的值时,Android不会发送任何内容。但是,当给定内容URI标识的数据发生更改时,您可以注册一个获取回调的观察者类。

您需要创建ContentObserver

ContentObserver observer = new ContentObserver(null) {
    @Override
    public void onChange(boolean selfChange) {
        super.onChange(selfChange);

        int enabled = Settings.System.getInt(getContentResolver(), Settings.Secure.INSTALL_NON_MARKET_APPS, 0);
        Log.d(TAG "onChange " + String.valueOf(enabled != 0));
    }

    @Override
    public boolean deliverSelfNotifications() {
        return true;
    }
};

然后您可以使用以下代码进行注册:

Uri setting = Settings.System.getUriFor(Settings.Secure.INSTALL_NON_MARKET_APPS);
getContentResolver().registerContentObserver(setting, false, observer);

完成后,您可以取消注册内容观察者:

getContentResolver().unregisterContentObserver(observer);