下面列出了android.content.Intent#ACTION_APPLICATION_RESTRICTIONS_CHANGED 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void setApplicationRestrictions(String packageName, Bundle restrictions,
int userId) {
checkSystemOrRoot("set application restrictions");
if (restrictions != null) {
restrictions.setDefusable(true);
}
synchronized (mAppRestrictionsLock) {
if (restrictions == null || restrictions.isEmpty()) {
cleanAppRestrictionsForPackageLAr(packageName, userId);
} else {
// Write the restrictions to XML
writeApplicationRestrictionsLAr(packageName, restrictions, userId);
}
}
// Notify package of changes via an intent - only sent to explicitly registered receivers.
Intent changeIntent = new Intent(Intent.ACTION_APPLICATION_RESTRICTIONS_CHANGED);
changeIntent.setPackage(packageName);
changeIntent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY);
mContext.sendBroadcastAsUser(changeIntent, UserHandle.of(userId));
}
private void registerRestrictionsReceiver(){
IntentFilter restrictionsFilter =
new IntentFilter(Intent.ACTION_APPLICATION_RESTRICTIONS_CHANGED);
mRestrictionsReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
getAppRestrictions();
}
};
registerReceiver(mRestrictionsReceiver, restrictionsFilter);
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void createEnabledBroadcastReceiver() {
IntentFilter restrictionsFilter = new IntentFilter(
Intent.ACTION_APPLICATION_RESTRICTIONS_CHANGED);
BroadcastReceiver restrictionsReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
updateEnabledState();
}
};
getContext().registerReceiver(restrictionsReceiver, restrictionsFilter);
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void createEnabledBroadcastReceiver() {
IntentFilter restrictionsFilter = new IntentFilter(
Intent.ACTION_APPLICATION_RESTRICTIONS_CHANGED);
BroadcastReceiver restrictionsReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
updateEnabledState();
}
};
getContext().registerReceiver(restrictionsReceiver, restrictionsFilter);
}
@Override
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
protected String getRestrictionChangeIntentAction() {
// Intent.ACTION_APPLICATION_RESTRICTIONS_CHANGED was introduced in LOLLIPOP.
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) return null;
return Intent.ACTION_APPLICATION_RESTRICTIONS_CHANGED;
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void createEnabledBroadcastReceiver() {
IntentFilter restrictionsFilter = new IntentFilter(
Intent.ACTION_APPLICATION_RESTRICTIONS_CHANGED);
BroadcastReceiver restrictionsReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
updateEnabledState();
}
};
getContext().registerReceiver(restrictionsReceiver, restrictionsFilter);
}