アンドロイドスタジオでロック画面アプリを開発しています。 HOMEボタンを無効にすることはできません。しかし、プレイストアには非常に多くのロック画面アプリケーションがあります。彼らはどうしているのですか?それらのアプリでホームボタンを押すと何も起こりません。 keyguardのタイプは推奨されておらず、またキーロックもありません。何もしない、または同じ画面にするために、ホームボタンをどうやって作るのか教えてください。今ではホーム画面にしたいとは思っていません。なぜなら、ユーザーはホーム画面を選択することができますし、ロック画面アプリを開発しています。これが唯一の解決策であれば、自分の画面をホーム画面プログラム的にどうぞ、正解をください。アンドロイドのロック画面のホームボタンの動作を変更する
-1
A
答えて
1
Googleで多くの検索を行った後。私はついに解決策を見つけました。私はGitHubでそれを見つけました。もし興味があれば。
your package name;
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.WindowManager;
import android.widget.FrameLayout;
import com.amigo.hammad.screenlock7292016.R;
import static android.view.WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
import static android.view.WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED;
import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_ERROR;
public class HomeKeyLocker {
private OverlayDialog mOverlayDialog;
public void lock(Activity activity) {
if (mOverlayDialog == null) {
mOverlayDialog = new OverlayDialog(activity);
mOverlayDialog.show();
}
}
public void unlock() {
if (mOverlayDialog != null) {
mOverlayDialog.dismiss();
mOverlayDialog = null;
}
}
private static class OverlayDialog extends AlertDialog {
public OverlayDialog(Activity activity) {
super(activity, R.style.AppTheme);
WindowManager.LayoutParams params = getWindow().getAttributes();
params.type = TYPE_SYSTEM_ERROR;
params.dimAmount = 0.0F; // transparent
params.width = 0;
params.height = 0;
params.gravity = Gravity.BOTTOM;
getWindow().setAttributes(params);
getWindow().setFlags(FLAG_SHOW_WHEN_LOCKED | FLAG_NOT_TOUCH_MODAL, 0xffffff);
setOwnerActivity(activity);
setCancelable(false);
}
public final boolean dispatchTouchEvent(MotionEvent motionevent) {
return true;
}
protected final void onCreate(Bundle bundle) {
super.onCreate(bundle);
FrameLayout framelayout = new FrameLayout(getContext());
framelayout.setBackgroundColor(0);
setContentView(framelayout);
}
}
}
super(activity、R.style.AppTheme)にエラーが見つかる可能性があります。この行あなたは単にあなたのアプリのテーマを与える必要があります。
次に、ロック画面のonCreateメソッドでオブジェクトを作成する必要があります。ロック機能を呼び出します。例えば:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Object of Class HomeKeyLocker.
mHomeKeyLocker = new HomeKeyLocker();
setContentView(R.layout.yourActivityLayoutName);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
// Calling Function in Class HomeKeyLocker to Block Home Button on this Activity.
mHomeKeyLocker.lock(this);
}
1
シャーク氏によると、あなたのアクティビティでは、のOnKeyDownを無効にする必要があります。 &以下のコードをあなたの活動にコピーしてください。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if((keyCode==KeyEvent.KEYCODE_HOME)
{
// *** DO YOUR STUFF HERE ***
return true;
}
else
return super.onKeyDown(keyCode, event);
}
ホームボタンをクリックすると処理されます。
関連する問題
- 1. iOS7の画面ロックとホームボタンの押下を区別する
- 2. Androidのロック画面の動作
- 3. iOS5の画面ロックとホームボタンの押下を区別する方法は?
- 4. ロック画面の画像変化
- 5. Python/Kivy - 電話画面の向き(アンドロイド)で画面を変更する
- 6. アンドロイド:通知がロックされた画面
- 7. WP7で私のアプリケーションの画面の動作をロック
- 8. 小さな画面でスクロールの動作を変更する
- 9. アンドロイドのロック画面はAndroidを使用してプログラムでロック画面のために
- 10. コードからアンドロイドの画面方向を変更する
- 11. iOSロック画面アプリの起動
- 12. ロック画面で音楽を変更する
- 13. アンドロイドのホームボタン?
- 14. Nativescript - 起動画面を変更する
- 15. UWP設定のロック画面が動作しない
- 16. GNU画面の自動サイズ変更画面-x
- 17. ロックされた画面で動作するAndroidアプリケーション
- 18. iOS開発 - メイン画面の画像を変更できる起動画面?
- 19. Android画面のロックを交換する
- 20. アプリで画面のフラグメントコールをロックする
- 21. powerbuilderの画面をロックする方法
- 22. ホームボタンとしてのアンドロイド再起動アプリケーション
- 23. 画面ロックとロック解除
- 24. アンドロイド画面の作成の方向性
- 25. ポストバックのASP.NETロック画面(マスターページ)
- 26. アンドロイドのGridviewの画像が画面外に移動する
- 27. iOS 5.1の自動画面ロックを無効にする
- 28. アンドロイド:実行時にレイアウト画面を変更する
- 29. Androidのロック画面を作成するApp。
- 30. Android - 本当の偽のロック画面を作る方法
http://stackoverflow.com/a/10025904/5515371 –
'にonKeyDown()'メソッドを実装し、そこにボタンの押しをキャッチし、これを試してみてください。 – Shark
ありがとう@MujammilAhamedしかし、私が言っていたことはアンドロイドが今変更されていることです。私はKeylockerがそこにないことを意味します、キーガードはそこにありませんまたTYPE_KEYGUARDはそこにありません。だから、今日はうまくいくコードに私を紹介してください。 –