私のAndroidアプリケーションでは、必要に応じてGPSを動的にオン/オフにすることに成功しています。しかし、gpsをオンにすると、ステータスバーのgpsアイコンを非表示にするのに苦労しています。どうすればいいですか?
注:全画面表示にすることで、ステータスバー全体を非表示にすることもできます。しかし、私はgpsアイコンだけを非表示にしたいです。
私のAndroidアプリケーションでは、必要に応じてGPSを動的にオン/オフにすることに成功しています。しかし、gpsをオンにすると、ステータスバーのgpsアイコンを非表示にするのに苦労しています。どうすればいいですか?
注:全画面表示にすることで、ステータスバー全体を非表示にすることもできます。しかし、私はgpsアイコンだけを非表示にしたいです。
これはできません。ステータスバーアイコンはシステムによって制御され、GPSがオンのときにサードパーティのアプリがそれを非表示にすることはできません。これはセキュリティ上の理由でもあります。不正なアプリは、GPSがアクティブであるという兆候がない場合、ユーザーが知らないうちにユーザーの位置を使用して密かに悪意のある操作を実行する可能性があります。
なぜGPSアイコンを非表示にするのですか?
ユーザーは自分のGPSがアクティブかどうかを知りたがっているので、これは悪い考えだと思います。
これにより、アプリケーションは、ユーザーがその事実に気付かずにユーザーの位置をスヌープできるようになりますが、これは適切な方法ではありません。そして、これがあなたのアプリが電話の場所にアクセスするための許可を必要とする理由です。
SDKソースファイルがある場合、それは簡単です:
methed enqueueNotificationInternalのNotificationManagerService.javaを変更し、フラグ(dbファイルまたは/ data /にファイルを作成)を追加します。gpsアプリケーションが通知を送信しようとしたときに、それをブロックします(パッケージ名を参照)。
しかし、持っていない場合は...。
すみません、わかりません。
私も同じ問題を抱えています。つまり、gpsに位置情報の更新を要求すると、そのgpsアイコンが表示されるため、 locationmanager.removeupdates(locationListener)のように呼び出して更新を削除すると、ステータスバーのgpsアイコンが削除されます。