Submit Search
Upload
中二病でも開発がしたい
•
34 likes
•
9,677 views
Kazutoshi Kashimoto
Follow
2013/5/6 横浜AndroidPF部での発表資料
Read less
Read more
Report
Share
Report
Share
1 of 40
Download now
Download to read offline
Recommended
Type 4 andefを自力で読む
Type 4 andefを自力で読む
Hiroshi Tanaka
【adtechtokyo2014】z会式ビッグデータ活用方法 ロックオンブースセッション資料
【adtechtokyo2014】z会式ビッグデータ活用方法 ロックオンブースセッション資料
株式会社ロックオン
Tppから考える日本の食の未来 ブックマラソンvol.31
Tppから考える日本の食の未来 ブックマラソンvol.31
Aiki Adachi
ブックマラソンVol.30 都会型経済から地元完結型経済へ
ブックマラソンVol.30 都会型経済から地元完結型経済へ
Aiki Adachi
HCEでなんちゃってType4のNDEFタグをつくる
HCEでなんちゃってType4のNDEFタグをつくる
Hiroshi Tanaka
【アドエビス】インターネット広告入門セミナー Slideshare
【アドエビス】インターネット広告入門セミナー Slideshare
Aiki Adachi
GAによる広告出稿最適化
GAによる広告出稿最適化
GA technologies Inc.
魅力を感じる、伝わるポートフォリオ作成講座 (シェア版)
魅力を感じる、伝わるポートフォリオ作成講座 (シェア版)
Junichi Izumi
Recommended
Type 4 andefを自力で読む
Type 4 andefを自力で読む
Hiroshi Tanaka
【adtechtokyo2014】z会式ビッグデータ活用方法 ロックオンブースセッション資料
【adtechtokyo2014】z会式ビッグデータ活用方法 ロックオンブースセッション資料
株式会社ロックオン
Tppから考える日本の食の未来 ブックマラソンvol.31
Tppから考える日本の食の未来 ブックマラソンvol.31
Aiki Adachi
ブックマラソンVol.30 都会型経済から地元完結型経済へ
ブックマラソンVol.30 都会型経済から地元完結型経済へ
Aiki Adachi
HCEでなんちゃってType4のNDEFタグをつくる
HCEでなんちゃってType4のNDEFタグをつくる
Hiroshi Tanaka
【アドエビス】インターネット広告入門セミナー Slideshare
【アドエビス】インターネット広告入門セミナー Slideshare
Aiki Adachi
GAによる広告出稿最適化
GAによる広告出稿最適化
GA technologies Inc.
魅力を感じる、伝わるポートフォリオ作成講座 (シェア版)
魅力を感じる、伝わるポートフォリオ作成講座 (シェア版)
Junichi Izumi
ももちゃんおまかせ隊
ももちゃんおまかせ隊
Kazutoshi Kashimoto
2015 11 08_つ部ハッカソン
2015 11 08_つ部ハッカソン
Kazutoshi Kashimoto
最速フォトグラファーによるカメラ講座
最速フォトグラファーによるカメラ講座
Kazutoshi Kashimoto
絶望しない! コミケ
絶望しない! コミケ
Kazutoshi Kashimoto
Firefoxosハンズオン 環境構築
Firefoxosハンズオン 環境構築
Kazutoshi Kashimoto
Android最速のフォトグラファーに、俺はなる!
Android最速のフォトグラファーに、俺はなる!
Kazutoshi Kashimoto
Firefoxosハンズオン
Firefoxosハンズオン
Kazutoshi Kashimoto
俺がライダーだ
俺がライダーだ
Kazutoshi Kashimoto
FirefoxOSアプリ開発 JSとの健全な付き合い方
FirefoxOSアプリ開発 JSとの健全な付き合い方
Kazutoshi Kashimoto
More Related Content
More from Kazutoshi Kashimoto
ももちゃんおまかせ隊
ももちゃんおまかせ隊
Kazutoshi Kashimoto
2015 11 08_つ部ハッカソン
2015 11 08_つ部ハッカソン
Kazutoshi Kashimoto
最速フォトグラファーによるカメラ講座
最速フォトグラファーによるカメラ講座
Kazutoshi Kashimoto
絶望しない! コミケ
絶望しない! コミケ
Kazutoshi Kashimoto
Firefoxosハンズオン 環境構築
Firefoxosハンズオン 環境構築
Kazutoshi Kashimoto
Android最速のフォトグラファーに、俺はなる!
Android最速のフォトグラファーに、俺はなる!
Kazutoshi Kashimoto
Firefoxosハンズオン
Firefoxosハンズオン
Kazutoshi Kashimoto
俺がライダーだ
俺がライダーだ
Kazutoshi Kashimoto
FirefoxOSアプリ開発 JSとの健全な付き合い方
FirefoxOSアプリ開発 JSとの健全な付き合い方
Kazutoshi Kashimoto
More from Kazutoshi Kashimoto
(9)
ももちゃんおまかせ隊
ももちゃんおまかせ隊
2015 11 08_つ部ハッカソン
2015 11 08_つ部ハッカソン
最速フォトグラファーによるカメラ講座
最速フォトグラファーによるカメラ講座
絶望しない! コミケ
絶望しない! コミケ
Firefoxosハンズオン 環境構築
Firefoxosハンズオン 環境構築
Android最速のフォトグラファーに、俺はなる!
Android最速のフォトグラファーに、俺はなる!
Firefoxosハンズオン
Firefoxosハンズオン
俺がライダーだ
俺がライダーだ
FirefoxOSアプリ開発 JSとの健全な付き合い方
FirefoxOSアプリ開発 JSとの健全な付き合い方
中二病でも開発がしたい
1.
中二病でも開発がしたい 2013年5月6日月曜日
2.
自己紹介 ■名前 かしもと @kassy_kz ■特徴 健全 とても健全 ■好きなもの 仮面ライダー 2013年5月6日月曜日
3.
今時の仮面ライダー ベルト 指輪 NFCタッチ 仮面ライダーウィザード 2013年5月6日月曜日
4.
ライダー沼... ベルト 6800円 初期武装 4500円 中間形態 4000円 最終武器 5000円 ほか多数の指輪 400円∼1000円 2013年5月6日月曜日
5.
買えるかっっ!! 2013年5月6日月曜日
6.
自分で作るしかない! 俺が、変身する 2013年5月6日月曜日
7.
が 変身シーケンスに残念な点が.... 2013年5月6日月曜日
8.
重大な問題が... スリープ状態 画面ロック 待受画面 無反応
無反応 反応する! 2013年5月6日月曜日
9.
ウィザードリングは 最高のNFCチェックアイテム 反応したら 発光するのだぜ (余談) 2013年5月6日月曜日
10.
スリープ解除&ロック解除 しないとNFCは有効にならない 2013年5月6日月曜日
11.
某有名水族館NFCサービスの場合 2013年5月6日月曜日
12.
某ス⃝ート家電の場合 アプリ起動 タッチ可能 (こんなに画面遷移が... ) 2013年5月6日月曜日
13.
不便じゃね? 2013年5月6日月曜日
14.
AndroidのNFCが 常時反応するように 改造してみた... 本題 2013年5月6日月曜日
15.
探す ACTION_TAG_DISCOVERED ソースコード検索サービス http://tools.oesf.biz/android-4.2.0_r1.0/ テキトーな文言 2013年5月6日月曜日
16.
ソースコード読む void applyRouting(boolean force)
{ // configure NFC-EE routing if (mScreenState >= SCREEN_STATE_ON_LOCKED && mEeRoutingState == ROUTE_ON_WHEN_SCREEN_ON) { Log.d(TAG, "NFC-EE ON"); mNfceeRouteEnabled = true; mDeviceHost.doSelectSecureElement(); } else { Log.d(TAG, "NFC-EE OFF"); mNfceeRouteEnabled = false; mDeviceHost.doDeselectSecureElement(); } // configure NFC-C polling if (mScreenState >= POLLING_MODE) { Log.d(TAG, "NFC-C ON"); mNfcPollingEnabled = true; mDeviceHost.enableDiscovery(); } else { Log.d(TAG, "NFC-C OFF"); mNfcPollingEnabled = false; mDeviceHost.disableDiscovery(); } } package/app/Nfc/src/com/android/nfc/NfcService.java スクリーン状態で NFCポーリングを振り分けしてる! 2013年5月6日月曜日
17.
読む // Screen state,
used by mScreenState static final int SCREEN_STATE_UNKNOWN = 0; static final int SCREEN_STATE_OFF = 1; static final int SCREEN_STATE_ON_LOCKED = 2; static final int SCREEN_STATE_ON_UNLOCKED = 3; static final int POLLING_MODE = SCREEN_STATE_ON_UNLOCKED; ・・・(省略) void applyRouting(boolean force) { ・・・(省略) // configure NFC-C polling if (mScreenState >= POLLING_MODE) { Log.d(TAG, "NFC-C ON"); mNfcPollingEnabled = true; mDeviceHost.enableDiscovery(); } else { Log.d(TAG, "NFC-C OFF"); mNfcPollingEnabled = false; mDeviceHost.disableDiscovery(); } } package/app/Nfc/src/com/android/nfc/NfcService.java ポーリングモードを 設定している定数 2013年5月6日月曜日
18.
改造する // Screen state,
used by mScreenState static final int SCREEN_STATE_UNKNOWN = 0; static final int SCREEN_STATE_OFF = 1; static final int SCREEN_STATE_ON_LOCKED = 2; static final int SCREEN_STATE_ON_UNLOCKED = 3; static final int POLLING_MODE = SCREEN_STATE_ON_UNKNOWN; ・・・ void applyRouting(boolean force) { ・・・ // configure NFC-C polling if (mScreenState >= POLLING_MODE) { Log.d(TAG, "NFC-C ON"); mNfcPollingEnabled = true; mDeviceHost.enableDiscovery(); } else { Log.d(TAG, "NFC-C OFF"); mNfcPollingEnabled = false; mDeviceHost.disableDiscovery(); } } package/app/Nfc/src/com/android/nfc/NfcService.java 定数を変更する NFC探索の条件が変わる 2013年5月6日月曜日
19.
実験成功 スリープ状態でも、NFCが反応する スリープ状態 画面ロック 待受画面 反応する!反応する!反応する! 2013年5月6日月曜日
20.
さらに仕込む //スリープ状態から復帰する PowerManager.WakeLock wakelock; wakelock =
((PowerManager) mContext.getSystemService (Context.POWER_SERVICE)) .newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "disableLock"); wakelock.acquire(); //スクリーンロックを解除する KeyguardManager.KeyguardLock keylock; KeyguardManager keyguard = (KeyguardManager) mContext.getSystemService (Context.KEYGUARD_SERVICE); keylock = keyguard.newKeyguardLock("disableLock"); keylock.disableKeyguard(); スリープ復帰・ロック解除するコード パーミッション追加 <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/> 2013年5月6日月曜日
21.
実験成功 スリープ状態からNFCタッチだけでアプリ起動 スリープ状態 画面ロック 待受画面 反応する!反応する!反応する! アプリ起動 2013年5月6日月曜日
22.
(それはセキュリティ的にどうなんだ...) スライドロックだけ無効にして セキュリティロックは無効にしないような 実装にもできそう(やってない) 2013年5月6日月曜日
23.
NFC処理のシーケンス package/app/Nfc (システムアプリ) external/libnfc-nci みんなのNFCアプリアプリ フレームワーク デバイス制御 ライブラリ ①NFA_Enable (コールバック登録) ②コールバック ③intent発行(broadcast) 今回編集 2013年5月6日月曜日
24.
この改造で NFCの真の力を引き出す 名付けて、フルタイムNFC 2013年5月6日月曜日
25.
フルタイムNFC改造まとめ • 変更する箇所は package/app/Nfc/src/com/android/nfc/NfcService.java • ROM焼きをせずとも、改造したアプリをインストール すればフルタイムNFCが実現可能 -
systemアプリなのでroot権限いるのですが... • ポーリングモードを決める定数の 値を変えるだけで良かった - NFCが反応する状態を変更できるような設計 - 将来のバージョンアップによってはもしかしたら... • パーミッションを追加すればキーロック通過も可能... 2013年5月6日月曜日
26.
で? それ何がうれしいの? 上司(ゴースト) 2013年5月6日月曜日
27.
私の、最高のNFC体験 2013年5月6日月曜日
28.
スリープ解除 ロック解除 ポージング
タッチ スリープまでにポーズ完了が必要 ・ポージングは制限 ・失敗のリスク! ダサい 残念 残念じゃない フルタイムNFCが変身シーケンスに与える影響 通常 ポージング タッチ ポーズ待機時間が無限 ・ポージング自由 ・失敗しない! フルタイムNFCなら 2013年5月6日月曜日
29.
これぞ最高のNFC体験 2013年5月6日月曜日
30.
そんなことして 消費電力は大丈夫なんか? あ? 上司(ゴースト) エコはどうした? エコこそ正義! エコを蔑 2013年5月6日月曜日
31.
どいつもこいつも エコ、エコ、エコ!! 2013年5月6日月曜日
32.
• 測定条件 - バッテリー95%∼0まで時間計測 -
ディスプレイ常時オン(細工有り) - 無線LANオン - その他の操作を一切しない - JCROMのテーマは健全に • あくまで個人レベルの超簡易計測です。 測定条件・結果の信憑性など、責任は一切負えません バッテリー持ちを計測してみた 2013年5月6日月曜日
33.
バッテリー持ちを計測してみた •結果 通常(NFCオフ) フルタイムNFC バッテリー尽きるまで 461分 バッテリー尽きるまで 424分 バッテリー残量(%) バッテリー残量(%) 時間 (分) 時間 (分) 2013年5月6日月曜日
34.
バッテリー持ちを計測してみた •結果 通常(NFCオフ) フルタイムNFC バッテリー尽きるまで 461分 バッテリー尽きるまで 424分 バッテリー残量(%) バッテリー残量(%) 時間 (分) 時間 (分) あれ? 2013年5月6日月曜日
35.
ごめんなさい たぶん測定方法がまずいです 2013年5月6日月曜日
36.
まだだ、まだ終わらんよ 2013年5月6日月曜日
37.
電流を計測してみた •結果 通常(NFCオフ) 290mA 通常(NFCオン) 290mA 機内モード 290mA 2013年5月6日月曜日
38.
電流を計測してみた •結果 通常(NFCオフ) 290mA 通常(NFCオン) 290mA 機内モード 290mA あれ? 2013年5月6日月曜日
39.
絶望が俺のゴールだ 2013年5月6日月曜日
40.
本当に申し訳ありませんでした ご静聴ありがとうございました 2013年5月6日月曜日
Download now