1

アプリで Knox 内の GCM からメッセージを受信する際に大きな問題があります。Knox 外の同じアプリは問題なくメッセージを受信します。同じアプリが GCM の外部と内部に登録されます。Knox 内で GCM が機能しないのはなぜですか? Knox 内で GCM メッセージを受信するには、何をする必要がありますか?

Device: Samsung S5
Samsung Knox version: 2.3
Google Play Services: 8.4.89
4

1 に答える 1

1

OK、私は自分で解決策を見つけました。問題は、GCM サービスへの登録にありました。

GCM ガイド ( https://developers.google.com/cloud-messaging/android/start )の登録用コードを使用しました。

public class RegistrationIntentService extends IntentService {
    @Override
    public void onHandleIntent(Intent intent) {
        // ...

        InstanceID instanceID = InstanceID.getInstance(this);
        String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId),
            GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);

        // ...
    }
}

実際、それはうまく機能していました。Android と Knox では、トークンは期待どおりに受信されました。しかし、Knox には GCM からのメッセージはありませんでした。さまざまなアプリを確認した後、登録に別のコードを使用しました。

public class RegistrationIntentService extends IntentService {
    @Override
    public void onHandleIntent(Intent intent) {
        // ...

        GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);
        String token = gcm.register(getString(R.string.gcm_defaultSenderId));

        // ...
    }
}

...そして魔法のようにそれでした。誰かに役立つことを願っています。


于 2016-01-26T14:15:36.563 に答える