NetworkInfo

NetworkInfoで、ネットワークのさらなる情報が見れる。

NetworkInfo  |  Android Developers

WiFIか、それ以外(3G/4G/LTE)かを判定する。

networkInfo.isConnectedがtrueの時、networkInfo.getTypeをさらに見る。

WiFiの時
WiFiの時

WiFiの時。

4Gの時
4Gの時

4Gの時。

Sample/android/NetworkInfo/NetworkInfo/src/NetworkInfo at master · bg1bgst333/Sample · GitHub

ConnectivityManager

ネットワーク接続状態の監視をするのが、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!
WiFi繋がってるのでConnected!

WiFi繋がってるのでConnected!。

航空機モードだとそもそもnullになっちゃうのか
航空機モードだとそもそもnullになっちゃうのか

航空機モードだとそもそもnullになっちゃうのか。

Sample/android/ConnectivityManager/ConnectivityManager/src/ConnectivityManager at master · bg1bgst333/Sample · GitHub

BatteryManager

端末の電池残量や充電状態を管理するのが、BatteryManager。

BatteryManager  |  Android Developers

activity_main.xmlは、

TextView1つ。
MainActivity.javaは、

onResumeで、ACTION_BATTERY_CHANGEDを拾うBroadcastReceiverをregisterReceiver。
onPauseで、unregisterReceiver。
その間にonReceiveで、取得したバッテリー状態をTextViewにセット。

充電中
充電中

USBケーブルを挿してると充電中。

充電中でない
充電中でない

外すと充電中でない。

Sample/android/BatteryManager/BatteryManager/src/BatteryManager at master · bg1bgst333/Sample · GitHub

DevicePolicyManager

アプリからスクリーンロックをしたり、セキュリティ関連の操作が出来るのが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を押すと
この画面からLockを押すと

この画面からLockを押すと、

こんな感じで管理者を有効にするか聞いてくる
こんな感じで管理者を有効にするか聞いてくる

こんな感じで管理者を有効にするか聞いてくる。
キャンセルすると、

Admin NG
Admin NG

Admin NG。

再びLockを押してこれを表示
再びLockを押してこれを表示

再びLockを押してこれを表示。今度は有効にするを選択。

Admin OK
Admin OK

Admin OK。

ロック画面になる
ロック画面になる

ロック画面になる。

Sample/android/DevicePolicyManager/DevicePolicyManager/src/DevicePolicyManager at master · bg1bgst333/Sample · GitHub

NotificationManager

NotificationManagerは、通知の操作、管理をする。

NotificationManager  |  Android Developers

activity_main.xmlは、

Buttonを配置。
MainActivity.javaは、

button1を押したら、テキストとかアイコンとかそういうものをセットして、mNotificationManager.notifyで通知する。

最初こんな感じ
最初こんな感じ

最初こんな感じ。
Notifyを押すと、

左上にDroid君アイコンが出る
左上にDroid君アイコンが出る

左上にDroid君アイコンが出る。

上からずりずりスワイプすると通知が出ている。
上からずりずりスワイプすると通知が出ている。

上からずりずりスワイプすると通知が出ている。

Sample/android/NotificationManager/NotificationManager/src/NotificationManager at master · bg1bgst333/Sample · GitHub

LocationManager

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にセット。

こんな感じ
こんな感じ

こんな感じ。

Sample/android/LocationManager/LocationManager/src/LocationManager at master · bg1bgst333/Sample · GitHub

MediaPlayer

MediaPlayerは、音声ファイルを再生する。

MediaPlayer  |  Android Developers

res/raw/eine.mp3を再生する。
activity_main.xmlは、

再生ボタンbutton1
MainActivity.javaは、

MediaPlayer.createでR.raw.eineをロードし、button1が押された時にmMediaPlayer.startで再生。

これでPlayを押すと再生される。
これでPlayを押すと再生される。

これでPlayを押すと再生される。

Sample/android/MediaPlayer/MediaPlayer/src/MediaPlayer at master · bg1bgst333/Sample · GitHub