适用于Android应用程序的NativeScript中的信息亭模式

时间:2018-10-26 19:03:07

标签: android nativescript angular2-nativescript kiosk nativescript-plugin

从过去的几天开始,我正在尝试使用Angular for Android App在NativeScript中实现信息亭模式(锁定的应用程序)。

我已经直接尝试过,但是无法处理Android中的所有按钮,例如“首页”和“近期应用”按钮。我可以处理“后退”和“音量调高”按钮。

我尝试过的另一种方法是使用Android Native创建我自己的插件,但无法这样做。

Android Native中的Kiosk模式有两个选项。一种是屏幕固定(以编程方式),另一种是在Android中使用COSU(这不是我的要求,因为我无法将应用设置为1000台设备的设备所有者)。

因此,任何人都可以分享他们在Android中使用屏幕固定以及在NativeScript中创建插件以及在NativeScript中创建示例代码的知识。

预先感谢!

下面是我用于Android Native的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();
    }
}

1 个答案:

答案 0 :(得分:0)

Here是如何在NativeScript中扩展默认活动。仅供参考,对于v4.x,NativeScript仍然使用activity,盯着5.x,他们引入了AppCompatActivity,预计将在几天后发布。