2

我开发了一个在 Samsung Knox 环境中工作的应用程序。由于 Knox 环境的限制,我需要应用程序根据它是在 Knox 容器中还是在其外部做出不同的响应。应用程序如何以编程方式判断它是否已部署在容器内?

4

1 回答 1

3

我有一个类似的问题,虽然我们的应用程序不是在 Knox 环境中工作,但有些用户无论如何都会把它放在那里......所以我正在寻找一个类似的功能。我发现以下内容可能会对您有所帮助。可悲的是,它不起作用,因为它似乎只在包含 Knox Premium SDK 时才起作用: https ://seap.samsung.com/faq/how-does-app-detect-if-container-was-created

总之有两种检查方法。在代码中调用它:

KnoxContainerManager.getContainers()

或者将此添加到您的清单并添加广播侦听器:

    <receiver
        android:name=".receiver.KnoxContainerReceiver"
        android:exported="true" >
        <intent-filter>
            <action android:name="com.samsung.knox.container.creation.status" />
        </intent-filter>
    </receiver>

public class KnoxContainerReceiver extends BroadcastReceiver{
    @Override public void onReceive(Context context, Intent intent ){
    //do something
    }
}

如果有人找到无需 SDK 即可工作的解决方案,我很想听听。

于 2017-01-20T12:55:51.477 回答