如何执行从maas360 mdm到我的Android应用程序的策略

时间:2016-07-19 14:45:58

标签: android 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的政策。

您能否帮助我了解我的代码中缺少哪些内容才能获得该政策?

1 个答案:

答案 0 :(得分:0)

如果您查看此页面: https://developer.android.com/work/managed-configurations.html#listen-configuration

你会看到以下内容 - 注意:ACTION_APPLICATION_RESTRICTIONS_CHANGED意图仅发送给动态注册的侦听器,而不是发送到应用程序清单中声明的​​侦听器。

我看到你在应用程序清单中声明了监听器。它需要动态注册。