Samsung Knox兼容应用程序如何判断它是否位于Knox容器中?

时间:2016-12-08 15:59:08

标签: android samsung-knox

我开发了一个在Samsung Knox环境中工作的应用程序。由于Knox环境的限制,我需要应用程序以不同的方式响应,具体取决于它是在Knox容器中还是在Knox容器外部。应用程序如何以编程方式告诉它是否已部署在容器内?

2 个答案:

答案 0 :(得分:2)

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

简而言之,有两种方法可以检查。在代码中调用它:

LazyLoadManager.getInstance(context).loadData(viewHolder, myModel);

或者将此添加到您的Manifest并添加一个Broadcast侦听器:

var jsDate = new Date(Date.UTC(2016, 1, 23, 13, 14, 15));
var fromated = $.format.date(Date.UTC(2016, 1, 23, 13, 14, 15), "yy,MM,dd,hh,mm,ss");
console.log("Date.UTC(" + fromated + ")"); //Date.UTC(16,02,23,06,44,15)

如果有人发现没有SDK的解决方案,我很有兴趣听到它。

答案 1 :(得分:0)

为了将来参考,这是我使用的:

public static boolean isKnoxCaller() {
        int PER_USER_RANGE = 10000;
        int user_id = Binder.getCallingUid() / PER_USER_RANGE;
        return user_id >= 100 && user_id < 1000;
    }