0

可能重复:
android锁屏源代码

我创建了一个应用程序,其中包含 2 个活动。一是设置APassword,二是实现登录。我如何在 Android 中将此应用程序作为 LockScreen 放置?它应该永久运行。

4

1 回答 1

2

只是我的一个猜测

  1. 禁用返回键
  2. 禁用主页键
  3. 没有菜单
  4. 听设备的启动启动并再次启动您的屏幕
  5. 仅在成功登录调用完成()

对于任务 1,2,3 搜索 stackoverflow 。他们肯定在那里..

在 android 中也有用于制作自己的主屏幕/启动器屏幕的选项。例如 android 中的 go_launcher 应用程序

禁用主页键尝试这个完整的活动代码是

package com.lockscreen;

import android.app.Activity;
import android.app.KeyguardManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.WindowManager;

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

    KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Activity.KEYGUARD_SERVICE);
    KeyguardManager.KeyguardLock lock = keyguardManager
            .newKeyguardLock(KEYGUARD_SERVICE);
    lock.disableKeyguard();

}

@Override
public void onBackPressed() {

}

@Override
public void onAttachedToWindow() {
    // TODO Auto-generated method stub
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
    super.onAttachedToWindow();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    menu.add("Exit");
    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    if (item.getTitle().equals("Exit")) {
        finish();
        System.runFinalizersOnExit(true);
        System.exit(0);
    }
    return super.onOptionsItemSelected(item);
}

}

清单需要许可

<uses-permission
    android:name="android.permission.DISABLE_KEYGUARD"></uses-permission>
于 2012-04-17T09:04:14.337 回答