投稿

ラベル(android)が付いた投稿を表示しています

[android] 定期的に位置情報を取得するアプリ

Android 4.2 にて、GPS 有効の状態で、バックグランド時も定期的に詳細な位置情報を取得するという動きをするアプリが1つでも存在すると、電池がどんどん無くなるので、この現象が起こりうるアプリについてメモしておきます。 新しくインストールしたアプリが原因で、この不可解な電池消費が起こり得ることが心配な方は、高精度の位置情報が必要な時以外は GPS 無効にしておくのが良いと思います。 Google の現在地送信機能 Path の近所機能 Path Talk の Ambient Status の Location 自動更新機能 Facebook の近所通知機能 (過去存在したが最新バージョンでは削除されているようです) また、このアプリを使うと、どのアプリのせいでスリープ状態が解除されているか分かって大変便利です。 Wakelock Detector

[Android] Facebook, Twitter アプリのベータテスターになる方法

ベータテスタープログラムに参加して Facebook , Twitter アプリの最新版を試してみてはいかがでしょうか? 多少の不完全さ (ローカライズの不備、便利なのか良く分からない機能など?) を受け入れることで、正式版を使っている人より1か月 (体感値) ほど先を行くことが出来ます。また、UI の変更などもいち早く察知することができ、アプリ開発者でなくとも興味のある方もいらっしゃるのではないかと思います。 Facebook こちらのグループに参加する: Facebook for Android Beta Testers 「自分の表示名」の欄は何でもよいので入れる必要があります。あとで変更も可能です。 こちらで「テスターになる」を押す: Android アプリのテスト - Google Play Twitter こちらのグループに参加する: Twitter for Android Experiment Facebook の場合と同様ですが、加えて Google+ プロフィールでの参加はできない設定のようです。 こちらで「テスターになる」を押す: Android アプリのテスト - Google Play 補足 「テスターになる」のページではテスターをやめることも可能です。ダウングレードは行われないので、元に戻すにはアンインストール、再インストールを行えばよいです。 テスター設定は端末単位ではなく同一の Google アカウントすべてに影響します。現行リリースバージョンと比較するためには別の Google アカウントを用意する必要があります。 モバイル版 Google グループ はエラーが適切に表示されない (バリデーションエラーが全て500エラーと表示されるなど) 気がするので PC 版を使うことを推奨します。 リンク Android用Facebookのベータプログラム Twitter for Android experiment agreement - 利用規約

_nomap で Google 位置情報からアクセスポイントを削除する

ポータブル Wi-Fi ルーターに Android 端末を繋いで使っていると、頻繁に自宅に連れ戻される症状に大変困っていました。これは周辺に他のアクセスポイントがない場合に、Wi-Fi 位置情報によりポータブルルーターの位置を引いてしまい、普段ずっと使っている自宅を現在位置と認識するためのようです。 2011/11 に Google により発表された Wi-Fi位置情報システムからのオプトアウト方法 に従って、SSID の変更を 2011/11/16 に行い、オプトアウトの完了を 2012/1/8 に確認しました。位置情報データのアップデートは月に1回程度行われるようです。 SSID の末尾に _nomap を付ける変更後、電波出力を 100% にして、より多くの Android 端末に捕捉されるようにしてみました。オプトアウト完了後は Google Map を使っても頻繁に現在地が自宅に戻る不愉快な動作もなく快適に利用できています。そもそも、移動するノードはすべて出荷時デフォルトが _nomap で良いと思います。 Google 側の更新を待てないお急ぎの方は、アクセスポイントを SSID ステルス設定にして使うと、Wi-Fi 位置情報クライアントがそれを認識し、近隣のアクセスポイントとして送信されなくなり、_nomap によるオプトアウト完了後相当の測位結果になるのでお試しください。 なぜ SSID ステルスモードへの変更でオプトアウト出来ないのか? Google の位置情報サービスの説明 にあるように、位置情報サービスは公共に発信され、誰でも得ることができる情報 (広告されている ESSID, BSSID, 電界強度) のみに基づきサービスを運用しているので、送信される近隣アクセスポイント一覧には SSID が広告されているアクセスポイントのみの情報が含まれ、自分が繋いでいる SSID ステルスなアクセスポイントについての情報は送信されません。 したがって、サーバー側から見た場合、あるアクセスポイントが SSID ステルスモードに変化したのか、電源を落とされたのかは区別できず、電源の落ちているアクセスポイントの自動削除などは行われないため、SSID ステルスに変更する前の情報が記録されたままとなります。 この状況を改善するためには、...

Google Authenticator で簡単に二要素認証を実装する

二要素認証としてワンタイムパスワード生成機を使うには、専用のトークンとか高そうなパッケージが必要そうなイメージ (例: RSA SecurID ) がありましたが、iPhone, Android アプリ として公開されている Google Authenticator を使うと簡単に使える感じなので試してみました。 Google Authenticator は OATH で定義されているオープンなワンタイムパスワード生成方法 HOTP (HMAC-based One Time Password) と TOTP (Time-based One Time Password) に対応していて、QRコードまたは文字列入力で、Base32 でエンコードされた秘密鍵を登録しておくと、勝手にワンタイムパスワードを作ってくれます。 ワンタイムパスワードの生成方法は、メッセージ認証符号 HMAC SHA1 でカウンター値 (HOTP) または30秒単位の時刻 (TOTP) を処理して、その結果を入力しやすい桁数 (6桁以上) の数値に変換するという感じのようです。 サーバーサイドでは、Perl なら Authen::OATH を使って、同じ秘密鍵を持っていることを、同じワンタイムパスワードの数値が入力されたことでもって認証するという感じでいいと思います。Authen::OATH には Base32 の文字列をそのまま突っ込むのではなく、元のバイナリ値を入力とすることに注意しましょう。

[android] 電波OFFモードでWi-Fiだけ有効にする

Android 2.2以降では、標準で設定できるようです。機内モードオンの後、Wi-FiオンでOK。機内モード時はBluetoothは使えないようです。 Android 1.6-2.1では、以下の手順で、セルスタンバイで電池を消耗することなく、無線LANだけで通信してくれます。IS01で確認し、確かに電話は圏外になりました。レビューにIS06でも上手く動くとあるので、大抵のAndroid端末で有効なんじゃないかと思います。 Airplane Mode Wi-Fi Tool をインストールして、PreferencesのKeep Wi-Fi Onをオンにする。 電波OFFモード(機内モード)をオンにする。 Airplane Mode Wi-Fi Toolからじゃなくても良い。