Browsing articles in "デバイス"

PhoneStateListenerで回線の接続状況の変化を取得する

4月 22, 2011   //   by kkato   //   デバイス  //  1 Comment

今回はTelephonyManagerとPhoneStateListenerを使って回線の接続状況の変化を取得する方法を説明します。

Serviceを使う(1) LocalServiceによる常駐型アプリを参考に常駐アプリを作成して3Gの接続状況を表示するアプリなどを作成することができます。

今回の回線の接続状況以外にもPhoneStateListenerは着信イベントを取得することもできます。

それでは続きへどうぞ

Read more >>

WiFiとBuletoothを簡単に有効にする

4月 6, 2011   //   by @mhidaka   //   デバイス  //  1 Comment

Androidの電源管理ウィジェットのように無線LANやBluetoothの有効・無効を切り替える方法を紹介します。
無線LAN、WifiManagerについてはWiFiの情報を取得するでSSIDの取得方法など情報取得の方法を解説しています。。ソースコードはGoogleCodeのこちらのリポジトリより取得できます。
それぞれのデバイスの制御方法は以下の通りです

  • 無線LAN:WifiManager
  • Bluetooth:BluetoothAdapter

無線LANはセンサー類と同様にContext#getSystemService(WIFI_SERVICE);でManagerを取得して切り替えることが可能です。Bluetoothは無線LANとは異なり、BluetoothAdapter#getDefaultAdapter();によりデバイスの有無を確認できます(nullが返却されればBluetoothはサポートされていない)。

電源管理ウィジェット(標準) トグルボタンによる有効・無効制御

補足:AIRPLANE MODE

また、調査のなかで、3G通信など全ての通信をOFFにする「AIRPLANE MODE」への変更方法も見つけましたが、Android DevelopersのReferenceによると、Systemによる利用を前提としてprotected な intentであり、ユーザによる任意の切り替えは推奨されていません。
Intent.ACTION_AIRPLANE_MODE_CHANGED

Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", true);
sendBroadcast(intent);

上記Intentをブロードキャストすることでエアプレーンモードに移行できます(システム利用が前提でユーザ利用は非推奨)。

Bluetooth/無線LANの切り替えサンプル・ソースコードは続きから
Read more >>

ハードウェアキーの長押しを検知する

3月 27, 2011   //   by kseto   //   デバイス  //  1 Comment

タッチパネルの長押しを検知する方法は「タッチパネルのダブルタップや長押しを検出する」で紹介しましたが、
ハードウェアキーも長押しを検知することが可能です。

ハードウェアキーの長押しを検知するにはandroid.view.KeyEvent.Callbackクラス
定義されているonKeyLongPressメソッドを利用します。

boolean onKeyLongPress (int keyCode, KeyEvent event)

onKeyLongPressメソッドのパラメータ
keyCode : 長押ししていたキーのキーコード
event : 長押ししていたキーのキーイベント

詳しくは続きからご覧下さい。

Read more >>

タッチパネルのダブルタップや長押しを検出する

3月 20, 2011   //   by kseto   //   デバイス  //  No Comments

「タッチイベントを取得する(onTouchEventとMotionEvent)」でも紹介したように
タッチパネルのシングルタップや座標の取得はonTouchEventとMotionEventを利用することで
実現することができます。しかし、ダブルタップや長押しのように少し複雑なタッチイベントは
onTouchEventとMotionEventだけでは取得できません。

今回紹介するGestureDetectorクラスではダブルタップや長押しのような複雑なタッチイベントを簡単に取得するためのインタフェースやメソッドを提供しています。

詳しい説明はつづきからどうぞ。

Read more >>

Google Mapsで、現在地にアイコンを表示する

3月 19, 2011   //   by UpDown-G   //   アプリケーション, デバイス  //  No Comments

Google Mapで現在地を取得し表示する にて、Google mapを用いて現在地の座標を取得し、その場所を画面中央に表示してみました。
今回は、現在地を画面中央に表示するだけでなく、アイコンを表示してみましょう。

画像を表示するためには、ItemizedOverlayクラスを利用します。

それでは続きをどうぞ。

Read more >>

Google Mapで現在地を取得し表示する

1月 22, 2011   //   by UpDown-G   //   デバイス  //  No Comments

Google Mapを表示する にて、Google Mapを表示する方法を説明しました。

Google Mapでは、GPSを利用して、現在地を取得し、その場所を表示させることが可能です。

今回は、現在地の緯度経度を取得し、その周辺の場所を表示させるようにしましょう。

続きは以下からどうぞ。

Read more >>

複数のカメラを使う

12月 19, 2010   //   by kseto   //   デバイス  //  1 Comment

Android 2.3から複数のカメラをサポートしました。
主にビデオ通話を目的とするカメラ(端末前面に取り付けられるフロントカメラ)の対応です。
今回はAndroid 2.3のAPI Demoに含まれているCameraPreviewを参考に詳細を追ってみたいと思います。

 

CameraInfoクラスの追加

Android 2.3では複数のカメラのサポートの為にAPIに幾つか追加や変更がなされています。

まず、大きな変更点としてCameraInfoクラスが新たに追加されています。
CameraInfoクラスにはカメラの取り付け位置に関する情報が格納されます。
アプリケーションとしてはCameraInfoクラスの情報を頼りにフロントカメラ、バックフロントカメラの処理を切り替えることになります。

Read more >>

バイブレーションを使う

11月 21, 2010   //   by kseto   //   デバイス  //  1 Comment

今回はバイブレーションの使い方について紹介します。
デバイスのバイブレーションを使うにはandroid.os.Vibratorクラスを使います。

用意されているメソッドは以下の3つです。

void vibrate(long milliseconds)
引数で指定した時間だけバイブレーションをONにします。時間の単位はミリ秒です。

void vibrate(long[] pattern, int repeat)
1つ目の引数にバイブレーションのパターン、2つ目の引数にリピートの指定します。
バイブレーションのパターンはlong型の配列にバイブレーションがONになるまでの時間と
バイブレーションがOFFになるまでの時間を交互に指定します。時間の単位はミリ秒です。

void cancel()
バイブレーションをOFFにします。

それでは続きでサンプルコードを紹介します。

Read more >>

画面(バックライト)の明るさを変える

10月 31, 2010   //   by kseto   //   デバイス  //  1 Comment

今回は端末の画面(バックライト)の明るさを変える方法について紹介します。

端末の画面の明るさを変えるにはWindowクラスsetAttributesメソッドを使います。
setAttributesに与えるパラメータにはWindowManager.LayoutParamsクラスに定義されている
screenBrightness定数を指定します。
screenBrightnessに設定できる値は0未満がデフォルト(システム設定)、
0.0(暗)~1.0(明)となっています。

(2010/11/09:LayoutParamsはたくさんあるよ、と教えてもらいました。WindowManager.LayoutParamsに修正しました。@yanzmさん、ご指摘ありがとうございました!)

ただし、この方法で変更できるのは現在表示されているウィンドウの輝度のみで、
システム全体の輝度は変更できませんので注意が必要です。

続きからサンプルコードです。

Read more >>

残量などバッテリーの情報を取得する

10月 28, 2010   //   by kkato   //   デバイス  //  2 Comments

今回はバッテリーの状態変化を取得する方法を説明します。
バッテリー残量や充電中か否かの情報を知りたいということがあるかと思います。

以前、システムの起動時にサービスを実行するBroadcast Intentの種類をいくつか紹介しましたが、その中のACTION_BATTERY_CHANGEDを利用します。

それではサンプルソースとともに説明してきます。

Read more >>

ページ:«1234»

技術書新刊 発売中

アンドロイドアカデミアには、CIやテスト、互換検証など実務に生きるノウハウをあつめています

技術書新刊 発売中

Android Next!はAndroid 7.0に対応したはじめての技術書です!


The Web Explorer 2はCSSの中央寄せやWebAudioなど未来を読み解く一冊です


Revised TypeScript in DefinitelylandはTypeScript 2.0(β)に対応した解説書です。インストールから型定義まで幅広くサポートしています


技術書をかこう!はエンジニアらしい執筆環境を構築、HowTo本です