9

MobileIron EMM を使用してアプリのリモート構成をセットアップしようとしています。開発者ガイドに記載されているとおりにすべてのことを行いました: 1. マニフェストをセットアップしました:

...
        <meta-data
            android:name="android.content.APP_RESTRICTIONS"
            android:resource="@xml/app_restrictions"/>
    </application>

2. 制限について説明しました。

<?xml version="1.0" encoding="utf-8"?>
<restrictions xmlns:android="http://schemas.android.com/apk/res/android">
    <restriction
        android:title="@string/some_title"
        android:key="SOME_KEY"
        android:restrictionType="string"
        android:defaultValue="123"/>
</restrictions>

3.次のように受信しようとしています:

RestrictionsManager manager = (RestrictionsManager) context.getSystemService(Context.RESTRICTIONS_SERVICE);
        Bundle b = manager.getApplicationRestrictions();
        if(b!=null){
            if(b.containsKey("SOME_KEY")) {
                return b.getString("SOME_KEY");
            }else{
                System.out.println("bundle is not null");
                for (String s: b.keySet()){
                    System.out.println("key in b is : " + s);
                }
                System.out.println(b.isEmpty() + " bundle is empty");
            }
        }else{
            System.out.println("Bundle is null");
        }
        return "";
    }

私はいつも出力を得ました:

bundle is not null
true bundle is empty

制限のデフォルト値を設定しましたが。制限の少なくともデフォルト値を取得できないのはなぜですか? 実際の値を取得できないのはなぜですか (サーバー側で、MobileIron Cloud とその AppConnect 構成で値を設定しました)。いくつかのデバイスで試しました。私は何が欠けていますか?助けてください。私の目標は、アプリにいくつかのキー値をリモートで設定することです。

4

3 に答える 3

1

私も同じ問題を抱えていました。Xamarin csharp アプリでテストし、Play ストアから入手できる公開 Google テスト アプリ「Test DPC」を使用しました。定義されたアプリの制限をロードできる「マニフェストの制限をロードする」ボタンがあります(とにかく、私の場合はそうではありませんでした)。次の場合にのみ機能しました。

  1. 私はアプリケーションをデバッグしませんでした (DPC で適用される値は常に定義されていない/空でした) が、デバイスで直接開始し、
  2. テスト DPC アプリ内でキーと値のペアを手動で追加/設定します。

次に、DPC内からブール値を切り替えました...(「アプリケーションの管理」画面で「保存」を押したことを確認してください)

于 2017-01-25T14:18:35.937 に答える