2016-07-19 3 views
1

Я пытаюсь применить политику в приложении Android, и мое приложение не может понять эту политику. Я написал простой код, где я прошу строку из maas360 mdm. Ниже мой Android манифеста фрагмент кода:Как применять политику от maas360 mdm к моему приложению android

<receiver android:name=".GetRestrictionReceiver" 
    android:enabled="true"> 
    <intent-filter> 
     <action android:name="android.intent.action.APPLICATION_RESTRICTIONS_CHANGED"></action>  
    </intent-filter> 
</receiver> 

И следующий мой радиовещательный приемник:

public void onReceive(Context context, Intent intent) { 
    Log.d("Get Restriction", "on receive"); 
    RestrictionsManager restrictionsManager = (RestrictionsManager) context.getSystemService(Context.RESTRICTIONS_SERVICE); 
    Bundle b = restrictionsManager.getApplicationRestrictions(); 
    if(b.containsKey("siteName")) { 
      Log.d("Get Restriction", "Site name= "+b.getString("siteName")); 
    } 
    //String value = intent.getStringExtra("siteName"); 
} 

Ниже мой app_restriction XML:

<restrictions xmlns:android="http://schemas.android.com/apk/res/android"> 
    <restriction 
     android:key="siteName" 
     android:title="SiteName" 
     android:restrictionType="string" 
     android:defaultValue="English"> 
    </restriction> 
</restrictions> 

К сожалению, мой широковещательный не получает мой политика от maas360 mdm.

Не могли бы вы помочь мне понять, чего я пропустил из своего кода, который получит мне политику?

ответ

0

Если вы заканчивали эту страницу: https://developer.android.com/work/managed-configurations.html#listen-configuration

Вы увидите следующее - Замечания: при ACTION_APPLICATION_RESTRICTIONS_CHANGED Намерения посылаются только слушателям, которые динамически регистрируются, а не слушатели, которые объявлены в приложении манифест.

Я вижу, что вы делитесь слушателем в манифесте приложения. Он должен быть динамически зарегистрирован.

Смежные вопросы