2

カスタム PIN を使用してカスタム Android ロック画面を作成しています。ユーザーが PIN を入力しなくても、電話のセキュリティを損なうことなく、着信に応答できるようにしたいと考えています。

Next Lock Screen と GoLocker の両方にこの機能があります。

2 つの悪い代替手段: (1) ユーザーに PIN の入力を強制するか、(2) ユーザーが電話を受けたときに電話を完全にロック解除する

何か提案はありますか?

ありがとう!

4

1 に答える 1

0

放送受信機で状態を聞いてTelephonyManager、何をすべきかを決めるだけです。次のレシーバーを登録します。

<intent-filter>
    <action android:name="android.intent.action.PHONE_STATE"/>
</intent-filter>

...そして、onReceive がチェックインするたびに...

intent.getStringExtra(TelephonyManager.EXTRA_STATE) == TelephonyManager.EXTRA_STATE_RINGING

これは電話がかかってきたことを意味するので、「ロック画面」を非表示にすることができますが、それは重大なセキュリティ上の欠陥となります - その人の番号と SIM ピンのロックが解除された電話を持っている人 (たとえば、それを盗んだばかりでたまたま知っている人)あなたの番号...)は、電話を偽って「カスタムPIN」機能を殺すだけです.

アプリで直接通話に応答したい場合は、それとはまったく異なりますが、それだけでなく、さらに問題のある水域にいることになります。Android では、特権のないアプリ (非ルート) が通話に応答することを許可していません。、そして私が知っているすべての方法は、リフレクションタイプ、「Bluetoothヘッドセットプレス」エミュレーションタイプ、または機能しなくなったシェルプログラム呼び出しタイプのハックのいずれかです...デバイス間で一貫して機能するものは何もありません。組み合わせて使用​​すると、一部のデバイスでは条件が必要になります。これらのいずれかを試すと、その特定の ROM がクラッシュする可能性があるためです。そのため、市場には真の「通話中画面」アプリが多く存在しなくなりました。通話前にシステムの通話中画面をトリガーしたり、通話を受信したときにシステムの画面の上にオーバーレイしたりするダイヤラーだけですこの回答の冒頭で説明されています)。

于 2016-05-04T17:45:07.963 に答える