首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android阻止用户关闭应用程序

Android阻止用户关闭应用程序
EN

Stack Overflow用户
提问于 2015-08-10 07:31:31
回答 3查看 2.9K关注 0票数 4

有没有一种方法,我们可以建立一个定制的MDM,以迫使应用程序总是打开。也就是说,不要让用户关闭。

我正在建立一个图片库应用程序来展示给用户。但我不想让他们关闭我的应用程序。

谢谢

像这样的事?

代码语言:javascript
复制
public class IntentReceiver extends BroadcastReceiver {
    public static final String TAG = IntentReceiver.class.getSimpleName();


    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i(TAG, "onReceive - intent => " + intent.getAction());

        //Get Intent
        String action = intent.getAction();

        if("android.intent.category.HOME".equals(action)) {

            Intent i = new Intent();
            i.setClass(context, MainActivity.class);
            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(i);
        }

但是,我也需要知道应用什么时候关闭或被杀死?

让我试着更好地解释。想象一下,如果一个艺术家想通过10个android设备展示他的作品。都在墙里。这样他就可以使用这个应用程序了。我想锁定这个装置。只运行这个应用程序,没有其他的工作。当你去手机商店时,所有的设备都在运行一个演示应用程序,你不能在没有密码的情况下退出。(即苹果商店)你不能放弃在这些Ipads上运行的应用程序

EN

回答 3

Stack Overflow用户

发布于 2015-08-18 02:52:05

我专门写了一篇关于Android上Kiosk模式的文章--过去只是“任务定位”。

http://www.sureshjoshi.com/mobile/android-kiosk-mode-without-root/

  • 创建一个DeviceAdminReceiver并将其放入您的清单
  • 然后,运行dpm给自己设备管理访问权限。

adb外壳dpm集-设备所有者com.sureshjoshi.android.kioskexample/.AdminReceiver

  • 确认你是应用程序中的设备所有者,然后你就可以开始比赛了

但是,一旦你做了样板,你就会用这个片段来启用和禁用它。

代码语言:javascript
复制
private void enableKioskMode(boolean enabled) {
    try {
        if (enabled) {
            if (mDpm.isLockTaskPermitted(this.getPackageName())) {
                startLockTask();
                mIsKioskEnabled = true;
                mButton.setText(getString(R.string.exit_kiosk_mode));
            } else {
                Toast.makeText(this, getString(R.string.kiosk_not_permitted), Toast.LENGTH_SHORT).show();
            }
        } else {
            stopLockTask();
            mIsKioskEnabled = false;
            mButton.setText(getString(R.string.enter_kiosk_mode));
        }
    } catch (Exception e) {
        // TODO: Log and handle appropriately
    }
}
票数 1
EN

Stack Overflow用户

发布于 2015-08-10 07:48:08

对于这些情况,不要重新发明轮子,而是安装Android5.0或更高版本,并使用其"kiosk mode" a.k.a. "task pinning"

票数 0
EN

Stack Overflow用户

发布于 2015-08-10 07:51:29

正如@Sarge从5.0中说的,有Kiosk模式可用。如果你没有在5.0上运行,请告诉我,我会花一些时间搜索我的旧项目,并给你一个prélollipop自制Kiosk模式(不需要闪存平板电脑或任何东西,只需编程)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31913909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档