メインメニューを開く

Xamarin.AndroidでUSBデバッグの有効無効を取得する

ゲームなんかでは解析防止のためにAndroidの設定で「USBデバッグ」が有効になっていると起動時に警告を出して終了させるというのがよくある。

過去にサーバーと暗号化通信でやりとりされる重要情報をログ出力に垂れ流していて「暗号化の意味ないじゃん」というアプリがあったりしたことで流行りだしたやつだ。

まあ、そんなことしてもapkファイルを抜いて逆コンパイルすれば一発なんだが、「そこまでできない一般人でもログだけは見られてしまう」のはマズいということらしい。

    public class MainActivity : AppCompatActivity
    {
        bool IsEnableDebugMode()
        {
            // Android.Provider.Settings.Secureは非推奨らしい
            var ret = Android.Provider.Settings.Global.GetInt(
                this.ContentResolver,
                Android.Provider.Settings.Global.AdbEnabled);
            return (0 < ret);
        }
    }

関連項目編集