NetworkInfoで、ネットワークのさらなる情報が見れる。
NetworkInfo | Android Developers
networkInfo.isConnectedがtrueの時、networkInfo.getTypeをさらに見る。
WiFiの時。
4Gの時。
Sample/android/NetworkInfo/NetworkInfo/src/NetworkInfo at master · bg1bgst333/Sample · GitHub
NetworkInfoで、ネットワークのさらなる情報が見れる。
NetworkInfo | Android Developers
networkInfo.isConnectedがtrueの時、networkInfo.getTypeをさらに見る。
WiFiの時。
4Gの時。
Sample/android/NetworkInfo/NetworkInfo/src/NetworkInfo at master · bg1bgst333/Sample · GitHub
ネットワーク接続状態の監視をするのが、ConnectivityManager。
ConnectivityManager | Android Developers
AndroidManifest.xmlは、
android.permission.ACCESS_NETWORK_STATEが必要。
activity_main.xmlは、
Buttonが1つ。
MainActivity.javaは、
Buttonを押したら、connectivityManager.getActiveNetworkInfoでアクティブなネットワーク情報を取得。
networkInfo.isConnectedが、trueならインターネットに接続されてるし、そうでないなら接続されてない。
WiFi繋がってるのでConnected!。
航空機モードだとそもそもnullになっちゃうのか。
端末の電池残量や充電状態を管理するのが、BatteryManager。
BatteryManager | Android Developers
activity_main.xmlは、
TextView1つ。
MainActivity.javaは、
onResumeで、ACTION_BATTERY_CHANGEDを拾うBroadcastReceiverをregisterReceiver。
onPauseで、unregisterReceiver。
その間にonReceiveで、取得したバッテリー状態をTextViewにセット。
USBケーブルを挿してると充電中。
外すと充電中でない。
アプリからスクリーンロックをしたり、セキュリティ関連の操作が出来るのがDevicePolicyManager。
DevicePolicyManager | Android Developers
アプリからロックしてみる。
AndroidManifest.xmlは、
android.permission.BIND_DEVICE_ADMINを持つAdminというreceiverを用意。
@xml/adminも準備しないといけない。
intent-filterは、actionでandroid.app.action.DEVICE_ADMIN_ENABLED。
admin.xmlは、
force-lock。
Admin.javaは、
DeviceAdminReceiverを継承。ただし、中身は空でいい。
activity_main.xmlは、
Button1つ。
MainActivity.javaは、
まず、mDevicePolicyManagerの取得、mComponentNameの初期化をする。
Buttonを押して、管理者権限なら端末をロックする。
そうでない場合は、管理者権限を取得するためのIntentを発行する。
onActivityResultで、許可なら"Admin OK"と出る。
この画面からLockを押すと、
こんな感じで管理者を有効にするか聞いてくる。
キャンセルすると、
Admin NG。
再びLockを押してこれを表示。今度は有効にするを選択。
Admin OK。
ロック画面になる。
NotificationManagerは、通知の操作、管理をする。
NotificationManager | Android Developers
activity_main.xmlは、
Buttonを配置。
MainActivity.javaは、
button1を押したら、テキストとかアイコンとかそういうものをセットして、mNotificationManager.notifyで通知する。
最初こんな感じ。
Notifyを押すと、
左上にDroid君アイコンが出る。
上からずりずりスワイプすると通知が出ている。
LocationManagerは、位置情報を取得する。
LocationManager | Android Developers
AndroidManifest.xmlは、
android.permission.ACCESS_FINE_LOCATIONが必要。
activity_main.xmlは、
TextViewが3つ。
MainActivity.javaは、
mLocationManager.requestLocationUpdatesで位置情報の更新をリクエストする。
onLocationChangedで、textview1に緯度、textview2に経度をセット。
また、onStatusChangedで、ステータスもtextview3にセット。
こんな感じ。
MediaPlayerは、音声ファイルを再生する。
MediaPlayer | Android Developers
res/raw/eine.mp3を再生する。
activity_main.xmlは、
再生ボタンbutton1
MainActivity.javaは、
MediaPlayer.createでR.raw.eineをロードし、button1が押された時にmMediaPlayer.startで再生。
これでPlayを押すと再生される。
Sample/android/MediaPlayer/MediaPlayer/src/MediaPlayer at master · bg1bgst333/Sample · GitHub