9

私は、Ice Cream Sandwich (Android 4.0) の Android マーケット (または、現在は Play ストア) に決してリリースしない会社向けのプロプライエタリ アプリを作成しています。

ユーザーが悪意を持ってソフトウェアをアンインストールしたり、アプリがキャプチャしたデータを削除したりできないように、ホームを無効にする必要があります。この最新バージョンは 4.0 で書かれた最初のバージョンで、以前のバージョンは 2.2 と 3.2 で書かれています。

2.2 でホーム ボタンを無効にするために、アプリをホームの代替として関連付けたので、ボタンはアプリを再度開いただけですが、この方法は使用できなくなりました。データの削除につながるため、ホームのデフォルトを再選択するオプションをユーザーに提供する必要があります。

3.2でホームボタンを無効にするためのコードは次のとおりです。

@Override
public void onAttachedToWindow() {
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
     this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
     super.onAttachedToWindow();
}

そして、onCreateの下で:

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

しかし、3.2 タブレットで動作した同じコードを実行すると、4.0 タブレットでは動作しません。

4.0 には、現在 3.2 の実装で持っているのと同じ効果を達成する新しい API またはメソッドがあるかどうか疑問に思っていました。

助けや指示をありがとう。

アダム

4

2 に答える 2

6

対処法はいかがでしょうか..

ホーム画面を実装する 2 つ目のアプリを作成します。ホーム画面のボタンが押されると、このアプリが前面に表示されます。このアプリから、メインのアプリをフォアグラウンドにプッシュする必要があります。唯一の問題は、ホーム画面アプリを更新する必要がないことですが、ホーム ランチャーの設定を求めるタブがなくても、メイン アプリを自由に更新できる必要があります。

それが理にかなっていることを願っています..

于 2012-04-12T06:39:45.487 に答える
0

いいえ....少なくともAndroid4.0のホームボタンをオーバーライドすることはできません..「hotveryspicy」のソリューションを使用して、ホームボタンに応答したい場合は、ホーム画面を実装してください。

于 2012-04-09T18:34:27.323 に答える