追跡アプリケーションを開発していますが、ユーザーが位置の特定に使用される基本的なセンサーをオフにできないようにする必要があります。デバイスの ROM を変更したり、ルート アクセス権を持ったりすることはできません (または、少なくともアクセス権を持たないことが非常に望ましいでしょう) が、デバイス管理 API を使用して、プロファイル オーナー モードまたはデバイス オーナー モードでこれらの機能を実行することを考えました。私は基本的に、Android の設定でこれらの機能をブロックする方法を探しています。
これが可能かどうか、またその方法については不明です。GitHub で、これを実装したアプリケーションの例を見つけられませんでした。誰かに光、いくつかの例、または特定のドキュメントを教えてもらえますか?
この特定の機能の解決策を見つけることに成功せずに、これらの 3 つのドキュメントに従おうとしました。
https://source.android.com/devices/tech/admin https://developer.android.com/guide/topics/admin/device-admin https://developers.google.com/android/management/introduction
これは私が試してきたことからの抜粋です:
setUserRestriction(UserManager.DISALLOW_CONFIG_WIFI, true);
setUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS, active);
setUserRestriction(UserManager.DISALLOW_CONFIG_BLUETOOTH, active);
private void setUserRestriction(String restriction, boolean disallow){
if (disallow) {
mDevicePolicyManager.addUserRestriction(mAdminComponentName, restriction);
} else {
mDevicePolicyManager.clearUserRestriction(mAdminComponentName,
restriction);
}
}
DISALLOW_CONFIG_BLUETOOTH API レベル 18 で追加 public static final 文字列 DISALLOW_CONFIG_BLUETOOTH
ユーザーが Bluetooth の構成を許可されていないかどうかを指定します。これは、ユーザーが bluetooth をオンまたはオフにすることを制限しません。デフォルト値は false です。
この制限によって、ユーザーが Bluetooth を使用できなくなるわけではありません。デバイスでの Bluetooth の使用を完全に禁止するには、DISALLOW_BLUETOOTH を使用します。
この制限は、管理対象プロファイルには影響しません。
ユーザー制限のキー。
タイプ: ブール値