ここ数日から、Angular for Android App を使用して NativeScript でキオスク モード (ロックされたアプリ) を実装しようとしています。
直接試してみましたが、ホームや最近のアプリのボタンなど、Android のすべてのボタンを処理できません。戻るボタンと音量の上下ボタンを処理できます。
別の方法として、Android Native を使用して独自のプラグインを作成しようとしましたが、できませんでした。
Android ネイティブのキオスク モードには 2 つのオプションがあります。1 つは画面のピン留め (プログラムによる) で、もう 1 つは Android で COSU を使用することです (何千ものデバイスのデバイス所有者としてアプリを設定できないため、これは私の要件ではありません)。
だから、誰でもAndroidでスクリーンピニングを使用し、NativeScriptでそのプラグインを作成し、NativeScriptでサンプルコードを作成する知識を共有できますか.
前もって感謝します!
以下は、画面の固定を実装するための Android ネイティブの Java コードです。
package org.nativescript.sdoddapaneni.kioskmodeplugin;
import android.app.ActivityManager;
import android.os.Build;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class LoginActivity extends AppCompatActivity {
private Button pinAppBtn;
private Button unpinAppBtn;
private ActivityManager am;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
pinAppBtn = (Button) findViewById(R.id.pin_app);
unpinAppBtn = (Button) findViewById(R.id.unpin_app);
am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
pinAppBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pin();
}
});
unpinAppBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
unpin();
}
});
}
public void unpin() {
if (am.isInLockTaskMode()) {
stopLockTask();
} else {
Toast.makeText(this, "Application already unpinned !", Toast.LENGTH_SHORT).show();
}
}
public void pin() {
startLockTask();
}
}