如何让Android上的活动始终排在首位?

时间:2011-10-01 02:35:08

标签: java android android-layout android-manifest

我制作一个锁定屏幕应用程序,阻止其他人在锁定时访问该设备。我有一个名为锁屏活动的活动。这是代码:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Toast;

public class LockScreen extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.lockscreen);
    }

    protected void onPause() {
            super.onPause();
            // it will display a lock screen again when the home button is pressed
            Intent myIntent = new Intent(LockScreen.this, LockScreen.class);
            myIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            getApplication().startActivity(myIntent);
        }
    }

该代码用于在按下主页按钮时重新启动锁屏活动,以便设备仍然可以锁定。如果我按下主页按钮并且没有点击任何应用程序,它将在5秒内再次显示锁屏活动(基于android问题),但如果我点击任何应用程序(例如:设置或消息),我的锁屏活动将显示在我关闭该应用程序(设置或消息位于顶部并覆盖我的锁屏活动),因此仍然可以访问设备。 有没有人知道如何使活动保持在最佳状态,以尽量减少未经授权人员的访问?感谢..

2 个答案:

答案 0 :(得分:2)

我不太确定是否有可能让应用程序始终保持最佳状态。当他们按下主页按钮时你打算做什么?或者,如果他们运行Cyanogen并按住后退按钮来“杀死”应用程序呢?这听起来不像是制作锁屏的有效方法。也许你可以看看其他一些类似的问题。我认为必须有更好的方法来实现锁屏应用程序。

Source of Android's lock screen

此链接告诉您如何在线查找Android源代码 Where can I find Android source code online?

这是LockScreen.java所在位置的实际链接 https://github.com/android/platform_frameworks_policies_base/blob/master/phone/com/android/internal/policy/impl/LockScreen.java

祝你好运!

答案 1 :(得分:1)

我很久以前遇到过这个问题,然后我终于发现除非你修改框架,否则不可能这样做。