web-dev-qa-db-ja.com

通話中に近接センサーを無効にする

携帯電話を落としましたが、近接センサーが確実に機能しなくなったようです。常にNearを返します。問題は、通話中にディスプレイがオフになり、数字パッドを使用してピンを入力したり、別の通話を会議したり、通話を切断することさえできないことです。アクセシビリティ設定に電源ボタンの切断オプションがあり、それを使用しています。

表示を維持することを期待して、コールを受信したときに完全なウェイクロックを取得しようとするアプリを作成しようとしました。

  • 電話の状態がOFFHOOKに変わったときにサービスを呼び出すブロードキャストレシーバーを作成しました

  • サービスは完全なウェイクロックを取得し、電話の状態がIDLEの場合にのみ解除します。

それでも、近接センサーはディスプレイをオフにします。 isHeld()メソッドを使用して、ロックが取得されたことを確認しました。 PowerManagerのisScreenOn()メソッドを使用し、呼び出し中に画面がオフになっていてもtrueを返しました。テスト用にループ内で2秒ごとにウェイクロックを取得しようとしましたが、それでもディスプレイは表示されません。

Nexus 5 Androidバージョン4.4.4を使用しています

誰もが近接センサーの動作をオーバーライドするアイデアを提案できますか?ルートが必要なオプションでも問題ありません。

ありがとう!

27
jobinbasani

近接センサーダイヤル

*#*#7378423#*#*

1)サービステスト-(存在する場合)

2)近接スイッチ

3)センサーのテスト(モバイルのロゴ(トップ)の隣)

4)はい、機能する場合、uをオンに保ち、近接スイッチを永久に維持できます。これにより、常にビープ音が鳴り、バッテリーを大量に消費します

OR

4)いいえ、動作しません-モバイル画面またはスクリーンガードを清掃し、ブロックされた画面をセンサーから消去します。それは魅力的です。

技術的には、ソフトウェアソリューションではありませんが、ハードウェアソリューションは機能します。

2
Surya R Praveen

また、近接センサー(Nexus 6、Android Marshmallowのその領域で画面が粉々になった)に問題があり、無効にしようとしたときに提案されたソリューション/サードパーティのアプリが機能しませんでした 近接センサー。私のために働いたのは、 近接センサーのリセット/修復 を使用してセンサーをキャリブレーションすることでした。アプリの指示(センサーをカバーしてカバーを解除)を実行してから、電話を再起動する必要があります。私のセンサーはもはやガラスの後ろにありませんが、カバー/カバーを外し、再キャリブレーションが仕事をしたとき、それはまだわずかに異なる結果を示しました。

私が試したがうまくいかなかった? Lite、Macrodroid、KinScreenからの近接スクリーン。

[XPOSED] Sensor Disabler でも、ルート化してXposed Frameworkを持っている必要があるので、もっと簡単な方法を見つけて本当にうれしい。

6
tlegutko

私の解決策を見つけました こちら 。基本的に、 Proximity Screen Off Lite というアプリを使用して、以下のように設定します。

  1. 画面のオン/オフモード[カバーを押したままにして画面をオンにする]タイムアウトをチェックする:1秒[偶発的ロックを無効にする]タイムアウトをチェックする:4秒

  2. すべての設定「Lanscapeで無効にする」をチェックします「画面で携帯電話をロックする」をチェックします

  3. [詳細]センサーの構成センサーの選択:近接センサーセンサーが覆われているときの値:0センサーが覆われていないときの値:1

6
fangmobile.com

私はこれをしばらく調査し、アプリをテストして作成しました。

Settings → Phone → Use proximity sensorにオプションがない場合、唯一の選択肢は、ルート化されたデバイスの設定を無効にするか変更することです。

また、ヘッドセットを接続しても、画面はオンのままになることを考慮してください:D

3
ncomputers

以下を含む一連の修正を試みた後:

  • 電話アプリのメニューオプション(私の電話には無効にするオプションがありませんでした)
  • 近接スクリーンオフライト(動作しませんでした)
  • センサー無効化機能を備えたXposedフレームワーク(電話が再起動されるか、アプリが更新されるまで動作します)
  • Macrodroidマクロ(Macrodroidが何らかの理由で携帯電話で実行されない)
  • その前にスズ箔を入れますか?(私は何を考えていたのか分かりません)

ここに私の修正があります:私はあなたがそれを壊すことができないと思ったので、電話を開いて、マザーボードから近接センサーをすべて取り外しました。センサーテスターアプリに「no_value」と表示され、「Distance:0」が表示され、画面が黒くならないダイヤル後。 CM MOD 5.1.1を搭載したSamsung I8190 Galaxy S III miniでのみこの動作を確認できることに注意してください。削除したデバイスの写真を次に示します。 prox sensor SMDはんだステーションの400度のヒートガン、ピンセット、フラックスを使用して取り外しましたが、鋭利なホビーナイフでも動作する可能性があります。

3
DarkPh03n1X

LineageOS 7.1.2を使用している場合(およびルートを使用している場合)、XDAの this ソリューションを試してください。


ここで提案したすべてのソリューションを試してみましたが、Nexus 4(mako)では機能しませんでしたが、XDAでAndroidダイヤラーの問題を解決するものを見つけました(他のアプリでは解決しません)。基本的に、再コンパイルされたDialer.apkファイルをダウンロードしました。このファイルは、近接センサーを単に無視し、ストックダイヤラーアプリと同じように動作します。

/system/priv-app/Dialer/Dialer.apkの名前を変更し、ダウンロードしたファイルをそのフォルダーに配置します。再起動後、新しいダイヤラーを手動でインストールする必要がありました(単にクリックするだけです)。これで、元のアプリが置き換えられ、この新しいアプリで呼び出しを処理する必要があります。

[欠点:通話に応答する新しい方法は、ステータスバーをプルダウンし、[応答](または[閉じる])をクリックすることです。通常のスライダーがありません。また、Androidが新しいバージョンに更新されるたびにこれを繰り返す必要があります。]

2
zahypeti

以下の行が存在する場合はフォルダー/ systemのbuild.propを編集し、値を変更し、存在しない場合はこの行を追加して保存します(デバイスをルート化する必要があります)

ro.lge.proximity.delay=25
mot.proximity.delay=25  
1
meysam

残念ながら、近接センサーも機能しません(常に0.0 cmを返します)。方法を見つけましたが、簡単な方法ではありません。携帯をルート化して、XPOSEDフレームワークとSensor Disablerをインストールする必要があります( https://play.google.com/store/apps/details?id=com.mrchandler。 disableprox )。アプリで近接センサーの戻り値をモックできます。 (例:常に2.0 cmを返します)。そうすると、通話中は常にディスプレイがオンになります。

1
rejthy