0

重複の可能性:
Androidロック画面のソースコード

2 つのアクティビティを含むアプリを作成しました。1 つは APassword を設定することで、もう 1 つはログインを実現することです。このアプリを Android の LockScreen として配置するにはどうすればよいですか? 永続的に実行する必要があります。

4

1 に答える 1

2

私の推測です

  1. 戻るキーを無効にする
  2. ホームキーを無効にする
  3. メニューなし
  4. デバイスの Boot Start をリッスンし、画面を再度起動します
  5. ログイン呼び出しが成功した場合のみ finish()

タスク 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 に答える