Ich habe gerade die Bewegungen gemacht, eine Knox Enabled App (KEA) zu machen und nichts scheint auf dem Gerät passieren - es läuft nur wie eine andere App. Wie erkenne ich, ob Knox tatsächlich aktiviert ist? Ich verstehe, dass meine Apps in einem eigenen Knox Container sein sollten? - Gibt es eine Möglichkeit, das herauszufinden oder zu testen?Wie eine Knox Enabled App zu testen ist, ist knox aktiviert
Antwort
Gemäß der Knox-API (Standard oder Premium) besteht keine Möglichkeit, einfach abzufragen, ob Knox bereits aktiviert ist. Insbesondere gibt es keine einfache boolesche Rückgabe "knoxlib.isKnoxActivated();"
Zunächst einmal möchte ich überprüfen, wie die Knox Aktivierungsprozess funktioniert:
Ihre Knox Aktiviert App benötigt sowohl für die ELM & KLM (Enterprise License Management und Knox License Management Klassen für 'activateLicense' nennen).
Das Gerät muss einen Netzwerkpfad zum Knox-Lizenzserver haben, unabhängig davon, ob es sich um das zentrale Online-Gerät von Samsung oder den lokalen Knox-Lizenzserver Ihres Unternehmens handelt.
Ihre Knox-fähige App muss über einen Broadcast-Empfänger verfügen, um eine Antwort vom Knox-Lizenzserver zu erhalten.
Vergessen Sie auch nicht die Rundfunkempfänger im Manifest zu registrieren, wie folgt aus:
<receiver>
android:name=".KnoxLicenseReceiver"
android:enabled="true"
android:exported="true"
<intent-filter>
<action android:name="edm.intent.action.license.status" />
<action android:name="edm.intent.action.knox_license.status" />
</intent-filter>
</receiver>
Ihre Rundfunkempfänger Klasse so etwas wie dies unten aussehen sollte.
public class KnoxLicenseReceiver extends BroadcastReceiver {
private final String LOGTAG = KnoxLicenseReceiver.class.getSimpleName();
@Override
public void onReceive(Context context, Intent intent) {
SharedPreferences.Editor sharedPrefEditor = context.getSharedPreferences(Constants.SHARED_PREF_NAME, Context.MODE_PRIVATE).edit();
String action;
int errorCode;
if (intent != null) {
action = intent.getAction();
if (action != null) {
// If received an ELM response
if (EnterpriseLicenseManager.ACTION_LICENSE_STATUS.equals(action)) {
errorCode = intent.getIntExtra(EnterpriseLicenseManager.EXTRA_LICENSE_ERROR_CODE, Constants.DEFAULT_ERROR);
// If successfully activated
if (errorCode == EnterpriseLicenseManager.ERROR_NONE) {
Log.i(LOGTAG, "ELM activated successfully.");
sharedPrefEditor.putBoolean(Constants.ELM_ACTIVATED, true);
} else {
Log.i(LOGTAG, "ELM failed to activate with error code: " + errorCode);
sharedPrefEditor.putBoolean(Constants.ELM_ACTIVATED, false);
}
}
// If received a KLM response
if (KnoxEnterpriseLicenseManager.ACTION_LICENSE_STATUS.equals(action)) {
errorCode = intent.getIntExtra(KnoxEnterpriseLicenseManager.EXTRA_LICENSE_ERROR_CODE, Constants.DEFAULT_ERROR);
// If successfully activated
if (errorCode == KnoxEnterpriseLicenseManager.ERROR_NONE) {
Log.i(LOGTAG, "KLM activated successfully.");
sharedPrefEditor.putBoolean(Constants.KLM_ACTIVATED, true);
} else {
Log.i(LOGTAG, "KLM failed to activate with error code: " + errorCode);
sharedPrefEditor.putBoolean(Constants.KLM_ACTIVATED, false);
}
}
}
}
// Store shared pref changes
sharedPrefEditor.apply();
}
}
- 1. Sandbox: Knox-Verbindung abgelehnt
- 2. Samsung Knox SDK Probleme
- 3. Health-Check für Apache knox
- 4. Android-Anwendung mit Samsung KNOX
- 5. knox gateway auf hortonworks sandbox
- 6. nodejs knox put zu s3 ergibt 403
- 7. SSLHandshakeException Senden curl Befehl durch Apache Knox
- 8. Verwendung von Apache Knox in nicht Hadoop App
- 9. Verbinden mit Spark-Spar-Server über Knox
- 10. Spring boot Hadoop, Webhdfs und Apache Knox
- 11. Wie entferne ich eine Datei in S3 Bucket mit Knox?
- 12. Meteor Fiber Problem mit Rückruf in knox
- 13. nodejs mit knox auf s3 hochladen?
- 14. wie benutzerdefinierte Dienste in Apache knox integrieren 0.9.1
- 15. google maps api nicht arbeiten in samsung knox container
- 16. Testen, wenn JavaScript aktiviert ist
- 17. Erstellen mehrerer Benutzer in Bluemix Biginsight zum Testen von Knox-Service
- 18. TypeError: Object.keys bei Nicht-Objekt beim Hochladen mit knox aufgerufen
- 19. So senden Sie Samsung Knox-Nachricht mit API
- 20. Ist JS beim Testen mit Laravel aktiviert?
- 21. Wie kann ich eine Datei mit der WebHDFS knox groovy library herunterladen?
- 22. Wie testen, ob Spring Security tatsächlich aktiviert ist?
- 23. Laravel 5, wie zu testen, ob eine Checkbox in einem Controller aktiviert ist
- 24. Warum startet meine Anwendung nicht nach der Installation in Samsung Knox?
- 25. Python - wie zu testen, ob eine Benutzereingabe eine Dezimalzahl ist
- 26. Wie man Knox so konfiguriert, dass es den Berechtigungsheader an einen Backend-Dienst weiterleitet?
- 27. wie zu überprüfen, ob allow_url_fopen aktiviert ist oder nicht
- 28. App stürzt ab, wenn Proguard aktiviert ist
- 29. Dienst bereits aktiviert ist, und ist tot
- 30. Xamarin.forms Aktivieren Sie die Statusleiste nach Aktivierung des Kiosk-Modus in knox Standard sdk 5.7
Eine andere Sache, die Sie beachten sollten, ist, dass Samsung auf ihren Entwickler-Foren (siehe Link) bestätigt hat, dass Ihre Knox App aktiviert sein, ‚activateLicense‘ nennen, auch wenn eine andere Knox aktiviert App bereits getan hat, so auf, dass gleiches Gerät. Die Lizenzen aktivieren Knox nicht einfach nur für eine Knox-fähige App auf dem Gerät, sondern spezifisch für die App, die 'activateLicense' aufruft. Dies bedeutet, dass Sie, wenn Sie zwei Knox-fähige Apps haben, zwei Knox-Lizenzen benötigen, um dieses einzelne Gerät vollständig zu aktivieren. https://seap.samsung.com/forum-topic/piggy-backing-activation-possible –