2013年12月31日火曜日

2013年 購入したお気に入りガジェット


今年はぜんぜんケータイ買ってないですね、たったの9台です、使うつもりで購入したのは。

「2013年 購入したお気に入りスマホ」では面白くないのでそれ以外のブツもまじえつつダラダラと書いていく。


BeagleBoneBlack / RaspberryPi



小型、安価、低消費電力なLinuxなどが動くおもちゃ
久しぶりに「工作たのしい!」と思わせてくれたもので2013年の中では一番触ってて楽しかったガジェット(ガジェットと表現するのが適切なのかは知らん)
あれ - イイ音持って出掛けよう - BeagleBoneBlack+USB DAC+MPD
現在、BeagleBoneBlackは自宅で主にTwiProwlなどの通知系を動かす用途で使用中。
RaspberryPiはDAPにしようとあれこれ弄っているところです。

Westone4R / SONY NW-M505 / AudioQuest DragonFly



Westone4Rはうっかり衝動買いした…
SONY NW-M505もうっかり衝動買いした…
AudioQuest DragonFlyは衝動買いでは無い。

新しいイヤホン欲しいなぁなどと思うも沼なので我慢してます、次買うならカスタムIEMかなぁと。

NW-M505はウオークマン単体として見ると操作性は2000年前半あたりから進歩してない感じなのだが音はかなり良いと感じた。
Bluetooth apt-x対応でBT接続で鳴らしても結構いい感じの音を出してくれる。
あと紫

AudioQuest DragonFlyはUSBメモリをちょっと大きくした程度なサイズのUSB DAC
2万円程度でこのサイズでこれだけ鳴らせるのスゲーと素直に思った。

ワイヤレス充電パッド サンワサプライWLC-PAD11BK



Qiです、チー
対応端末増えたので買い増ししました。
あれ - ワイヤレス充電パッド サンワサプライWLC-PAD11BKが良い感じ

Google Nexus 5(LG-D821)



発売日にポチった
ふつーに良く動くんだけどこれ、ぴゅあぐーぐるだからってよりはSnapdragon800がスゲーんだろうなぁと思ってるのでそのうち他の端末に変更する予定…FeliCa欲しいです。

BootloaderUnlockし、ちょこっと弄ってビルドしたカーネル入れて使用中


Nokia Lumia 1520



デカいのは慣れる、両手で使うから重さも割とどーでもよくなる。
WindowsPhoneの中では今のところ一番バッテリーもつ機種だと思う(容量多い、3400mAh)

Snapdragon S4(Lumia925)とSnapdragon800(Lumia1520)の違いがよくわからん…S4でもストレスなく動くので

LumiaBlack(GDR3)になり、画面の自動回転がOffに出来るようになるなどWindowsPhoneの不満だった点は徐々に改善されつつある。

今現在のメイン端末

Nokia Lumia 925



個人的には2013年のベストバイはコイツ

Qiカバーを付けるとそれなりの重量になるがLumia920のようにバカみたいに重くない
スペックだけ見ると大したこと無いがストレスなく動く
カメラの写りも悪くない
通話品質良い

Lumia920 -> Lumia 820 -> Lumia 620 -> Lumia 925と買い換えてきたのだが、それまで使ってた機種の不満な点、重量や荒いAMOLED、LTE未対応などが解消されストレスフリー

(Lumia1020欲しいけど1520買ったばかりだし我慢してる)




最後に
アマゾンアフィ経由で買い物してくれた方、ありがとうございました。
ドメイン更新代+α程度は頂けております。

来年もよろしくお願いいたします。

2013年12月8日日曜日

AndroidでWiFiストレージ接続中でも3G/LTE経由でインターネット通信ができるようにする【root】


moyashiさんがiOSでやってたのをAndroidでもやってみる。

ひとりぶろぐ - FlashAirが、PQI Air Cardが使いやすくなる!WiFiストレージ接続中でも3G/LTE経由でインターネット通信ができるようにするiOSのWiFi設定


WiFi接続時でも3G/LTE接続を維持させる


Android、少なくとも今回試したNexus5はWiFi接続をすると3G/LTEインターフェースrmnet0がDownとなる。
これではWiFiストレージに接続しつつ3G/LTE通信をする事が出来ませんので先ずはこれをなんとかする。

確認方法はadb shellなどでnetcfgと叩けばOK


logcatを見た感じ、このあたりの制御しているのはConnectivityService.javaなのが分かった。

ConnectivityService.java
こいつのhandleConnectを弄ってWiFi接続しても3G/LTEを切断しないようにする。
ビルドするの面倒くさいのでsmali書き換えた。

services.odexの中の
ConnectivityServices.smali
    .line 2265
    invoke-direct {p0, v1}, Lcom/android/server/ConnectivityService;->isNewNetTypePreferredOverCurrentNetType(I)Z

    move-result v5

    const/4 v5, 0x0
    if-eqz v5, :cond_69
    #if-eqz v5, :cond_6a

    .line 2267
    iget-object v5, p0, Lcom/android/server/ConnectivityService;->mNetTrackers:[Landroid/net/NetworkStateTracker;

    iget v6, p0, Lcom/android/server/ConnectivityService;->mActiveDefaultNetwork:I

    aget-object v2, v5, v6

    .line 2270
    .local v2, "otherNet":Landroid/net/NetworkStateTracker;
    new-instance v5, Ljava/lang/StringBuilder;

これでWiFiと3G/LTEの両立が出来るようになる。

Defaultgatewayの変更


shell@hammerhead:/ $ busybox route
busybox route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0
default         10.3.1.162      0.0.0.0         UG    0      0        0 rmnet0
10.3.1.160      *               255.255.255.252 U     0      0        0 rmnet0
10.3.1.162      *               255.255.255.255 UH    0      0        0 rmnet0
126.211.134.30  10.3.1.162      255.255.255.255 UGH   0      0        0 rmnet0
126.211.134.62  10.3.1.162      255.255.255.255 UGH   0      0        0 rmnet0
173.194.126.135 10.3.1.162      255.255.255.255 UGH   0      0        0 rmnet0
192.168.1.0     *               255.255.255.0   U     0      0        0 wlan0
192.168.1.1     *               255.255.255.255 UH    0      0        0 wlan0

こんな感じになってしまうので、

#busybox route del default gateway 192.168.1.1

って感じでWiFi側のゲートウェイを消してやる。

いちいちこんなの手動で打ち込むの頭悪いので自動化する。
Llama - Location Profiles
Locale Execute Plug-in

LlamaでWiFi接続をトリガーにし、 Locale Execute Plug-inで上記コマンドを実行するようにした。

問題点


  1. TaskerでWiFiの切り替わりをトリガーにするイベントがうまく動かなくなる。
  2. WiFi切断すると3G/LTE通信が出来なくなる。

1.はLLamaならうまく動いてるのでまぁいいかなと…
2.は一度モバイルデータをOFFにしてからONにしてやると通信出来るようになる。
WiFi切断したタイミングでモバイルデータOFF、ONするように自動化させて対応させてるけどなんだかなぁ感すごい。
2.は気のせいだったようだ…

あと、WiFiストレージ繋いだ際のDNSを8.8.8.8にしておいた方がいいかもね。


とりあえず出来たよ!な感じなのでもっといい感じに実装してくれる人が現れるのを待ちます。



2013年11月9日土曜日

Nexus5届いたけどガラスとLCDの間にゴミが混入してたので交換の手配をした。



フロントのガラスとLCD間に埃、塵が混入していた、というのはよくありますね。

サポートに連絡して交換してもらうの面倒くさいしこのまま使うか…などとも思いましたが、塵の混入位置がディスプレイのほぼ中央でしたので交換してもらう事に。


Google Play ハードウェア サポート チームに問い合わせる

問い合わせ先はGoogle Playの上記ページとなります。
日本のサポートチームの受付時間は午前 9:00 から午後 6:00 まで(月~日)

自動音声ガイダンスに従い、オペレーターの方に繋がったら要件を伝える。

「本日受け取ったNexus5のガラス面とLCDの間に埃のようなものが混入しているのですが、交換して頂く事は可能でしょうか?」

といった感じで伝えた。
自動音声ガイダンスにも流れますが購入した際に使用したGoogleアカウントIDを伝える必要があります。

塵が混入しているという問い合わせが多いのか分かりませんが、サクっと新品と交換させて頂きます、という対応となった。


交換の流れは、
  1. 交換品手配用URLから交換品を注文する。
  2. 返品保証書PDFを印刷し、現在手元にある端末と一緒に箱に同梱する。
  3. 修理返品リクエストURLから配送の手配を行う。
上記URLや返品保証書PDFが添付されたメールが事前に伝えたGoogleアカウント(GMail)に送られてくるのでそれに従う。

交換品を手配する際に端末代金分のカードの枠が必要となる点、交換品が届いてから21日以内に交換前の端末の返却作業が完了してない場合は端末代金が請求される。
気をつける点としてはこれくらいか。

返送は日本郵便での発送となる(ゆうパックの取り扱いがあるコンビニでも可)


AmazonでKindleFireを購入した際も塵が混入し、交換を行ったのだがGoogleの対応はAmazonとあまり変わらない感じでした。


Nexus7の時に色々とトラブったからなのか、Googleのサポートはなかなか良いのでは?と感じました。


2013年11月4日月曜日

ワイヤレス充電パッド サンワサプライWLC-PAD11BKが良い感じ



ワイヤレス充電パッドはPanasonicのQE-TM101-Kを使用していたのだがLumia925+ワイヤレス充電カバーでは充電されない事がよくあったのでAmazonでタイトルのブツを購入

物自体はConvenientPower社の物




コイルアレイ方式を採用している。
コイルアレイ方式はConvenient Power社のライセンス技術らしいです。
おそらくコイツの中身はコレですかね。


2週間程度、Lumia925で使用しているが割りとテキトーの置いても充電されるのでストレスフリー
もうすぐNexus5も来そうですし買い増ししようかなと考えてる。





ドコモショップなどで買えるワイヤレスチャージャー03も持ってたけど1週間程度で壊れましたし位置合わせするの面倒くさい最悪な製品でした、那珂ちゃんのファンやめます!


ワイヤレス充電パッド、ebay見ると安くてアヤシイものが幾つかあるので2~3種類買ってみようかなぁなどと。

Nokia DC-50ほしいなー

wpcentral - Quick look at the Nokia DC-50 Qi portable charging plate


2013年11月1日金曜日

Nexus 5(32 GB、ブラック)を注文してた


EMobile版の方が色々と面白そうだなーなどと思ったが契約とかその辺面倒くさいしいいや…で。


どーせあまり使わないんだし16GBでもよかった気がする…

2013年10月14日月曜日

イイ音持って出掛けよう - BeagleBoneBlack+USB DAC+MPD


なにこれ

小型、安価ながらそこそこパワフルな手のひらサイズなコンピュータBeagleBoneBlackにUSB DAC、USB Wi-Fiドングルを接続し、MPD(Music Player Daemon)をインストールしたもの。

Wi-FiテザリングをOnにしたAndroid端末にぶら下げ、Android端末から電源投入以外の全ての操作が行える。

BeagleBoard.org - BeagleBone Black

ひとりぶろぐ - Ubuntuも動く安価な手の平コンピュータBeagleBone Black Rev. A5CがAmazonで販売中



Music Player Daemon


ハードウェア

今回使用したものは以下

USB Wi-Fiドングル BUFFALO WLI-UC-GNM2



USB DAC audioquest DRAGON FLY




あとUSB HUB(ヨドバシで小型なのを適当に購入、型番メーカー忘れた)、64GB microSDXC 2枚、microSDカードリーダーと千石電商であれこれ。

それとモバイルバッテリー
Panasonic QE-PL201、SONY CP-E2L、Anker Astro M3、Anker Astro 3EをBeagleBoneBlackのminiUSB経由で給電し、安定して動作する事を確認した。





BeagleBoneBlackのUSBポートは1ポートのみ
今回、USB Wi-Fiドングル、USB DAC、micoroSDカードリーダーの3ポート必要となったのでUSB HUBを使用した。

ポータブル用途なので可能な限りコンパクトになるようHUBはコネクタ等剥がし、ボードのみ使用、BeagleBoneBlackのUSBコネクタも邪魔なので剥がすなどのたのしい工作をした。



ストレージの構成は本体の2GB eMMCにシステム(Debian wheezy)、本体microSDスロットに64GB、USB microSDカードリーダー経由で64GBという構成となっている。
手持ちの音楽を全てFLACで入れたかったため、このような構成となっている。

ソフトウェア

初期状態では本体eMMCにはAngstrom Linuxがインストールされています。
これを他のOSに入れ替えるには
  1. microSDにOSをFlash
  2. BeagleBoneBlackのS2ボタン(USBポート側にあるボタン)を押しながら電源投入
  3. microSDにFLASHしたOSが起動
  4. microSDに1でFLASHしたOSを転送し、本体eMMCにFLASH
今回は下記サイトで公開されているOSイメージファイルを使用した。


micorSDへのOSイメージファイルの書き込みはLinux上で行う。

xz -cd ./debian-wheezy-7.0.0-armhf-3.8.13-bone20.img.xz > /dev/sdb

私の環境ではmicroSDは/dev/sdbとして認識
dmesgなどで確認した上で書き込みましょう。

microSDをBeagleBoneBlackに挿入し、S2ボタンを押しながら電源投入
OSイメージファイルを適当な場所に転送してから

$sudo su
#xz -cd ./debian-wheezy-7.0.0-armhf-3.8.13-bone20.img.xz > /dev/mmcblk1

といった感じに本体eMMC(/dev/mmcblk1)にFlash
電源を落とし、microSDを外し、電源投入し、FlashしたOSが起動するのを確認する。


MPDのインストールはググれば沢山出てきます…
last.fmにScrobbleする為にmpdscribble入れたりジャケット表示する為にapache入れたりお好みで。
Linuxなので好き放題出来ます、BeagleBoneBlackそこそこパワフルなのであれこれ入れてもなんとかなっちゃう感じですね…



2013年10月13日日曜日

さくらのVPSにSubsonic(Madsonic)とownCloudを入れてGoogleMusicっぽく使う



さくらのVPS 2Gプランを契約しているのだがTwiProwl、IMAProwlとTwitter IRC Gateway、tiarra、tiarraMetroくらいにしか使ってなくて「ストレージ容量200GBもつかわねーよwwww」な状況だったのでSubsonicを導入し、メディアストリーミングサーバーに仕立てた。

Subsonic >> Free Music Streamer

MadsonicはSubsonicフォークであれこれ機能が追加されてたりする。
好きな方使えばいーんじゃないっすかね…

Madsonic


とりあえずSubsonicを入れましょう。
サーバーとしての基本設定済んでるの前提で書きます、ざっくり。
あーうちのさくらVPSはDebian wheezyです。

Java必要なので入れる。
apt-get install openjdk-6-jre

Subsonicインストール
wget http://downloads.sourceforge.net/project/subsonic/subsonic/4.8/subsonic-4.8.deb
dpkg -i subsonic-4.8.deb

トランスコードするのに必要なライブラリを入れる。
apt-get install lame flac faad vorbis-tools ffmpeg

Subsonicの設定をちょっと変更
UTF-8対応
vi /etc/default/subsonic

以下の1行追加
export LANG="ja_JP.UTF-8"

再起動
service subsonic restart


ブラウザから「http://hostname:4040」でアクセスし、あとは説明に従って進めていく。


VPSへのSubsonic導入はこれだけ、簡単
当たり前だけどVPSに音楽ファイル転送しなきゃいけないので転送する。

sftpなどでアップロードしても良いんだけど今回はownCloudを使う事にした。

ownCloudはVPSとか自宅鯖とかに導入し、Dropbox的なサーヴィスを提供するもの

ownCloud

apach、php、mysqlが必要になるので入れておく。ownCloud用のDB作っておく。

導入はこの手順に従えばOK

echo 'deb http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_7.0/ /' >> /etc/apt/sources.list.d/owncloud.list 
apt-get update
apt-get install owncloud

ブラウザから「http://hostname/ouncloud」にアクセスし、ユーザー登録をする。
その際、予め作成しておいたDB情報必要になるので入力する。

あとはクライアントアプリをPCにインストールし、同期フォルダに音楽保存してあるフォルダを指定するなりownCloud用フォルダ作って指定し、そこに音楽フォルダのシンボリックリンク張るなりすればおk

デフォルトのアップロード先は
/var/www/owncloud/data/username/files/

このパスを先に導入したSubsonicのライブラリディレクトリとして登録してやればローカルの音楽フォルダを勝手にVPSにアップロードし、Subsonicのライブラリに勝手に登録される環境の出来上がり。
あーSSLで接続出来るようにしておいた方が良いですよ。

AndroiderはふつーにGoogleMusic使えばいーんじゃね??


2013年10月7日月曜日

HW-01E rooted


大人は質問に答えたりしない。


git clone https://github.com/hiikezoe/break_setresuid
git clone https://github.com/fi01/unlock_security_module

vi device_database.c

device_database.c 
 {
    .device_id = DEVICE_HW01E_401210111,
    .device = "HW-01E",
    .build_id = "4.0..1210111",
    .check_property_name = "ro.build.id",
    .check_property_value = "4.0..1210111",

  },

vi device_database.h

DEVICE_HW01E_401210111,

ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk

adb push break_setresuid /data/local/tmp/break_setresuid
adb push unlock_security_module /data/local/tmp/unlock_security_module
adb push su /data/local/tmp/su

adb shell
$chmod 755 /data/local/tmp/break_setresuid
$chmod 755 /data/local/tmp/unlock_security_module
$cd /data/local/tmp/
$./break_setresuid
#./unlock_security_module
#mount -o rw,remount /system /system
#dd if=/data/local/tmp/su of=/system/bin/su
#chown root.root /system/bin/su
#chmod 6755 /system/bin/su

めんどうくせぇ

2013年8月25日日曜日

Nokia Lumia 620 Wireless Charging Mod




Nokia Lumia 620にQiモジュールを内蔵した。


分解はT4トルクスドライバでネジ6本外せばサクっと出来る。




VCCとGNDはこの辺
GNDは接続しやすい所からとればよいだろう。



Qiモジュールはこのように配置
シェルカバーに貼られているスポンジシートは剥がす。

かなり薄手のQiモジュールでないとうまくシェルカバーがはめられないだろう。

うん、うまくはまらないんだ、涙目になりながらシェルカバー削ってる…

2013年7月30日火曜日

ASUS PadFone Infinity A80を買ってた


買ったのは3週間くらい前だろうか。
合体ロボ的なギミックがたいへん面白い変態スマートフォン、というイメージがあったのだが普通に良機種だった。


デカイ


htc J Butterflyよりでかいね、ちょっと
片手で(Ingressしたい)持ちたいのでASUS純正ケース加工してストラップ付けてたり。


ケース付けると電源ボタン押しにくくなるので加工したり



エイスースさんあたまおかしい(褒めてる)


チェック入れるとちょいちょい起き上がるLINEアプリとかとか黙らせる事も出来る!(意外と使いどころ無いというか普通こんな設定用意しない)


インスタント辞書という機能を有効にすると指でなぞった文字を翻訳してくれるよ!


画面の明るさ自動調整にしてる際の明るさのターゲットを指定出来るよ!


究極モード(なにこれ)


通知エリアは最近流行ってる感じ



色は変えられないけど紫なので変える必要無い

邪魔なら設定から非表示に出来るよ、ASUSクイック設定ってののチェックを外すと。


明るさのスライダーだけ消す…ってのが出来ないのがいまいちイケてないけど。

トグルスイッチは個別に表示、非表示設定出来るよ。


最近使ったアプリケーションボタン



デフォルトで短押し最近のアプリ、長押しスクリーンショット
一番上の設定がhtcの機種でよくある短押しメニュー、長押し最近のアプリだと思うじゃん?短押しで最近のアプリ、長押しでなにもおこらない、多分バグ、ちょっとお茶目

デフォルト設定でアクションバーが無いアプリだとメニューボタンがこんな感じに出てくる。


たまにこのメニューが邪魔でボタンなどが押せないアプリがある、ちょっとお茶目


外せます


  • ディスプレイの色温度調整出来る
  • 割りとサクサク動く、HTL21より良い(まぁHTL21よりちょっとイイ石使ってるんだがね)
  • アプリのバックアップ機能デフォであるので復元させるの楽で良いね(僕はHeliumってアプリ使うので使わないけど)
  • LTE B1、B3使えるのでSoftbank iPhone5 SIM入れると幸せになれる。
  • カメラは綺麗だと思うよ?
  • GPSはそこまで良くはない、それなりにふらふらする。
  • 通知LEDは無い
  • nanoSIM
  • バッテリーもちはWebブラウジング6~7時間くらいかな…悪くはないけど良くも無い
  • MS ExchangeまわりがよくあるAndroidと同じでやる気ない感じ…このあたりはMotorolaたいへん良い
  • タッチパネルの感度はそこまで良くない、HTL21と似たような感じ…21よりは良いけど。
  • microSDスロット無いよ
  • 通話まわり、しらん、こいつで電話するつもり無い
  • NFCアンテナが裏のPadfoneロゴあたり
  • 公式BootloaderUnlock可能機種、カスタムリカバリすでにあるのでroot取るならUnlockし、fastboot boot recovery.imgで

普通に良機種だった。
普通に変態機種だった。

2013年7月28日日曜日

SONY NW-F806を買ってた


ちょっと前までポータブルオーディオ環境はAndroid+USB DAC+AMPという3段構成だったのですが、デカイし重いし…

last.fmへscrobbleさせたいマンなのでAK100は無しで…ってなるとAndroidかiOSデバイスくらいしか選択肢が無い。
Line出力させたい!ってなるとAndroidはSONY Walkman ZとF、iBasso DX100とか、iOSデバイスはLightningコネクタになってからアナログLine出力させるにはLightning 30ピンアダプタ付ける必要あるからLightningコネクタになる前のやつを買うかなぁ…などと悩んでた。

安いし(中古で14k円ちょっと)Androidだから(root取れなくても)なんとかなるだろ、どーしようもないゴミだったら売っぱらえばいいや、オサイフへのダメージ少ないし!てな感じでSONY NW-F806をこうた。


イイね!

  • 小さい
  • 軽い
  • WM-PORTからLine出力できる
  • ヘッドフォンジャック直でも音良いのでは

よくないね!

  • メモリ足りない、512MBしか積んでない
  • Tegra 2はないわー
  • 電源ボタン押しにくい
  • microSDスロット無い、容量たりねーよ
「音楽も動画もゲームも、さらにいい音でもっと楽しく」…ゲームはムリゲー感ある。


よくないね!をちょっとだけイイネ!に

メモリ不足とCPU、GPUパワー不足はどうしようも無いので諦めろ。

  • 電源ボタン押しにくい
    Google Play - W.Launcher
    Google Play - Screen Off and Lock

    W.LauncherでWボタン1回クリックにHomeボタン押下アクションを割り当て
    Screen Off and LockをHomeスクリーンに置き、アイコンタップでスリープ
    W.LauncherのWボタン2回クリックでスリープに入れる、という事もできますのでお好みで。
  • microSDスロット無い、容量たりねーよ
    64GBモデルでも持ってる音楽全部入らないよね?良く聴く曲だけ入れるっての面倒くさい…内蔵64GB+microSDXC64GBに出来たら良かったのに…

    ストレージ容量余りまくってるさくらVPSにSubsonic導入した。
    導入方法はぐぐれば沢山出てくる。
    (FLACでもいけると思うんだけどまだ試してない)


もっと真面目にエントリ書きましょう、俺

2013年5月21日火曜日

Motorola RAZR i XT890でzramを使ってみる

最近RAZR iを使っててちょっとメモリ足りてないなぁと…zram使えるとちょっとはマシになるかなぁ?と。

カーネルソース眺めてたらi386_mfld_moto_defconfigに
CONFIG_ZRAM=y
と書かれてましたよ?カーネル弄る必要無さそうですね?

って事で端末Boot時にこんな感じに
#!/system/bin/sh

echo 90 > /proc/sys/vm/swappiness
echo $((100*1024*1024)) > /sys/block/zram0/disksize
busybox mknod /dev/zram0 b 253 0
busybox mkswap /dev/zram0
busybox swapon /dev/zram0


127|shell@smi:/ $ busybox free
busybox free
              total         used         free       shared      buffers
  Mem:       994000       901344        92656            0        59392
 Swap:       102396        58924        43472
Total:      1096396       960268       136128

swappinessとzram割り当てサイズはとりあえず、な値です。

2013年5月11日土曜日

Motorola RAZR i XT890のNFCが常時反応するようにする

@kassy_kz が面白そうな事をしていたので試してみた。

中二病でも開発がしたい

Nexus持ってないのでsmali読んで適当に書き換える。

/system/app/Nfc.apk

com/android/nfc/NfcService.smali


2120行目あたり
    iget-boolean v1, p0, Lcom/android/nfc/NfcService;->mNfcPollingEnabled:Z

    const/4 v1, 0x0
    if-eqz v1, :cond_7

    .line 2204
    :cond_6
    const-string v1, "NfcService"

    const-string v2, "NFC-C OFF, disconnect"

    invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 2205
    const/4 v1, 0x0

    iput-boolean v1, p0, Lcom/android/nfc/NfcService;->mNfcPollingEnabled:Z

2400行目あたり
    iget-boolean v1, p0, Lcom/android/nfc/NfcService;->mNfcPollingEnabled:Z

    const/4 v1, 0x0
    if-eqz v1, :cond_10

    .line 2267
    :cond_16
    const-string v1, "NfcService"

    const-string v2, "NFC-C OFF"

    invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 2268
    const/4 v1, 0x0

    iput-boolean v1, p0, Lcom/android/nfc/NfcService;->mNfcPollingEnabled:Z

条件分岐「if-eqz v1, :cond_xx」の手前に「const/4 v1, 0x0」と書いてやって潰した。
POLLING_MODEの変更だと一つ目のNFC-C OFFを潰せないのでこんな感じに、うごきゃいいんだよ、面倒くさい。


NFCタグ読み込んだタイミングでスクリーンオンにしたりロック解除したりするのはみんなのNFCアプリ側でやればいーんじゃないですかね。

TaskerやLlamaのNFCタグ読んであーだこーだ機能使えば面白い使い方出来るかもね?



電力消費量の増加がどの程度あるかは気が向いたら測定してみる。

2013年4月12日金曜日

Pushover - AndroidとiOSにPush通知


WindowsPhoneへのPush通知はPushalotが良さそうです…というエントリがちょっと前に書いたコレ

Pushalot - WindowsPhoneにPush通知

Androidへの通知はTwiProwl+NotifiMyAndroidの組み合わせで行っていたのですが、Pushoverというサービスが良さそうなので乗り換える事にしました。

Pushover
  • AndroidとiOS向けクライアントが用意されている。
  • IFTTTの通知先として使える。
  • Push通知させるデバイスの管理がWeb上で行える。
  • Androidクライアントは受信した通知をNotificationエリアに個別に表示出来る。

iOS向けクライアントは使ったことが無いので使い勝手が良いかは分かりませんが、Android向けクライアントはNotifiMyAndroidより使い勝手が良いと思います。

NotifiMyAndroidは通知を受信した際にIntentをブロードキャストするので他アプリと連携させやすいのが良い点かなと思います。


2013年4月9日火曜日

Windows Phone 8 Nokia Lumia 820にインストールしたアプリケーション


2ヶ月前に書いたエントリの時から変化があったので改めて。

あれ - Windows Phone 8 Nokia Lumia 920にインストールしたアプリケーション



Pushalot - WindowsPhoneにPush通知


WindowsPhoneへのPush通知は長いことTwiProwl/IMAProwl + toastyという組み合わせで使っていたのだがPushalotという良さそうなサービス、アプリケーションを見つけたので早速試してみた。

Pushalot

toastyと比べるとPushalotは以下の点が優れている。

  • WindowsPhoneだけでなく、Windows 8向けにもクライアントアプリが用意されている。
  • Push通知させるデバイスの管理がWeb上で行える。
  • SSLに対応(toastyは対応してない)
  • WindowsPhone8のLockscreenに未読の通知件数を表示させられる。

  • 既読ステータスをデバイス間で同期できる。
    例:Lumia920と820に同じ通知をPush。920で通知を確認。820側も自動的に既読状態になる。

TwiProwlをPushalotに対応させる



PushalotのAPIページにRubyのサンプルコードが載ってるのでそれを使うのが楽

私はTwiProwlの360行目あたりに以下のコードを挿入した。
  def pushalot( icon, params={}, user = nil )
    begin
      require "net/https"

      url = URI.parse("https://pushalot.com/api/sendmessage")
      req = Net::HTTP::Post.new(url.path)
      req.set_form_data({
      :AuthorizationToken => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      :Title => params[:event],
      :Body => params[:description],
      :Image  => "https://ar3r3.com/icon_twiprowl.png",
      :Source => params[:application],
      
      })
      res = Net::HTTP.new(url.host, url.port)
      res.use_ssl = true
      res.verify_mode = OpenSSL::SSL::VERIFY_PEER
      res.start {|http| http.request(req) }
    rescue
      error "Error while Prowling: #{$!}"
    end
  end

こうした方がいいよ!みたいなツッコミ頂けると喜びます。


2013年4月2日火曜日

Bluetoothで繋がる万歩計Fitbit Zip買ったよ

某あおやまさんとか某管理日誌の人は上位機種のOneを買ってましたけど僕はこれでいいかな…と。

fitbit zip

Fitbit

Bluetooth 4.0に対応しててiPhoneと接続できるらしいです、Androidのアプリもそのうち出るらしいです。
Bluetooth 4.0なAndroid端末持ってないのでなにか買わなきゃ…


付属のドングルを挿したPCの近くに行くと勝手に歩数などの情報を吸い上げてくれるのでスマートフォンと繋げなくてもそこそこ捗る。


Webの管理画面はこんな感じ

Oneと比べるとZipはハイテク感無いけどバッテリー半年くらいもつみたいですし、安いですし可愛いのでZipもアリだと思いますよ?

fitbit萌える


2013年3月26日火曜日

Motorola製Android端末の一部にロック画面のパスコードを迂回し、通知エリアにアクセス出来る脆弱性

Motorola RAZR i XT890 OS Ver4.1.2 と RAZR XT910 4.0.4で確認
RAZR XT910に関しては設定メニューへのアクセスも可能です。



方法はロック画面の、緊急通報から「*#*#2486#*#*」とダイヤルするだけ、簡単でしょ?

対策方法はSettings -> Apps -> ALL からCQATestをDisableとします。
テスト用アプリなので端末の動作そのものには無効にしても問題無いと思います。

2013年3月25日月曜日

Motorola RAZR iでSoftBankのMMSを使う


SoftBank 4G契約の場合
僕用メモ

MMSC : http://mms/
MMS proxy : andmms.softbank.ne.jp
MMS port : 8080

Messaging.apk
res/xml/smi_overlay.xml

mms_user_agent : SoftBank/1.0/Smart/MyrMMS
mms_x_wap_profile_url : http://uaprof.softbank.ne.jp/uaprof/mms-myriad01.xml

Full wipeするか
/data/data/com.android.providers.telephony/databases/mmssms.db
を消してから再起動