2016-12-08 7 views
1

Я разработал приложение для работы в среде Samsung Knox. Из-за ограничений среды Knox мне нужно, чтобы приложение реагировало по-разному в зависимости от того, находится ли оно в контейнере Knox или за его пределами. Как приложение может запрограммировать программу, если оно было развернуто внутри контейнера?Как приложение, совместимое с Samsung Knox, сообщает, что оно находится в контейнере Knox?

ответ

1

У меня есть аналогичная проблема, хотя наше приложение НЕ сделано для работы в среде Knox, но некоторые пользователи будут размещать его там в любом случае ... Поэтому я ищу аналогичную функцию. Я нашел следующее, что может вам помочь. К сожалению, для нас это работает не так, как кажется, работает только при включении Knox Premium SDK: https://seap.samsung.com/faq/how-does-app-detect-if-container-was-created

Короче говоря, есть два способа проверить. Либо назвать это в коде:

KnoxContainerManager.getContainers() 

Или добавьте в ваш манифест и добавьте Broadcast слушателя:

<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 я очень заинтересован, чтобы услышать его.