Chrome Custom Tabs を とりあえず数行で使う

スマホでブラウザを起動する, っての最近では面倒.

LINEとかメッセージでリンクを送ってくる人とか.

20150910-215123

さりげなく開かずにテキトーな会話を続けたりします.

考えてみると「なんかブラウザって重いしトロい」から.

そこで, 最近登場したのが「Chrome Custom Tabs」というしくみ.

Chrome Custom Tabs - Google Chrome

performance

表示までが非常に高速化されてるようにに見える.

実装しようとサンプルをダウンロードしてみる.

GoogleChrome/custom-tabs-client

アプリ内モジュールやヘルパーやプロセス間の通信など
依存関係があるのでわかりづらい.

とりあえずシンプルにURLを渡すだけでで起動してみたいだけなので以下で.

build.gradle

compile 'com.android.support:customtabs:23.0.1'

サンプル内モジュール customtabs 以下は不要.

コピペするクラス

CustomTabsHelper
KeepAliveService
CustomTabActivityHelper
WebViewFallback

shared というモジュールは作らずベタクラスとしてコピペ.
アプリ内モジュール依存はなしで.

起動

...
Uri uri = Uri.parse("http://google.com/");
CustomTabsIntent customTabsIntent =
    new CustomTabsIntent.Builder().build();
CustomTabActivityHelper
    .openCustomTab(this, customTabsIntent, uri, new WebViewFallback());
...

UIカスタマイズはしない. するならここで.

WebViewFallback#openUri()

    ...
    //Intent intent = new Intent(activity, WebViewActivity.class);
    //intent.putExtra(WebActivity.EXTRA_URL, uri.toString());
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(uri);
    activity.startActivity(intent);
    ...

Chromeアプリ (stable/beta/dev) をインストールしてない場合は,
デフォルトブラウザなどに暗黙的に投げる.

で ?

起動はできる.
が, これだけでは恩恵にありつけない.

20150910-224352

サイト内検索などはできるようにはなるが
「なんかブラウザって重いしトロい」が解消せず.

以下の機能があるという.

Pre-warming of the Browser in the background, while avoiding stealing resources from the application.

Providing a likely URL in advance to the browser, which may perform speculative work, speeding up page load time.

これを使わないと意味ないな...

(つづく)


rootなしで Android 端末をブラウザから操作できる Koushik の「Vysor」

すごいです.

画像が少し粗いものの, 操作は全くストレスがありません.

Chromeエクステンションです.

Vysor__Beta__-_Chrome_ウェブストア

Vysor (Beta) - Chrome ウェブストア

サイトも公開されています.

Vysor

Vysor

強烈なのがこの機能.

Vysor Share
Share your device, across the office, or across the globe. Screen and ADB access to remote devices. Simple as sending a link.

Chromeエクステの画面からクリップボードに取得できるURLを外部に送ると,

Vysor_and_Vysor

そのURLをクリックしたPCでネットを経由してそのAndroid端末を使えるようになる!!

Vysor

当然, どちらのPCのChromeにもエクステをインストールしておくことが必要です.

驚きました.

Vysor Share Remote screen and ADB access There's a few tools already out that…


大手Androidメーカーはセキュリティアップデートを配布開始

stage-fright

以下, ヘボ意訳になるけども.

今まで発見されたAndroidのバグの中でも最悪な「Stagefright bug」についてメジャーなAndroidベンダーは修正の対応を始めている.

昨日, Google と同じように Samsung や LG も定期月次OTAセキュリティアップデートの配布を始めた.

LG:(メール)
「LGはすぐにセキュリティアップデートをお客様に提供できる. セキュリティ最優先なことをLGユーザは確認できます.」

Samsumg:(ブログ)
「セキュリティ的な脆弱性に対応できていない場合, 素早く更新手続きを実行する.月一の定期更新でそれを行う.」

Google:(ブログ)
「Nexusシリーズに更新を8/5(木)に配布を始める.」

ほとんどの断片化したAndroidのエコシステムはこれらとは違い, それぞれの携帯メーカーに依存しているが今回の対応は迅速で HTC や SONYのような大手もパッチの配布をすぐに始めている.

みんなの端末にStagefrightの脆弱性があるかどうか確認できるアプリがある.

Stagefright Detector App - Google Play の Android アプリ

Big Android Makers Will Now Push Monthly Security Updates | WIRED

こんなとき国内キャリアは関係ないのかなあ, 私のAndroidはどうなるのか...

全ての新着情報 : 全ての新着情報一覧 | お知らせ | NTTドコモ


もううんざりな「流行りの脆弱性」があるのか確認しながら

Androidの記事を眺めていると

海外のエントリソースに群がって

国内各メディアがさらに書き立てて

さらに私らがそれに群がり書きなぐる.

てな雰囲気でいつもAndroidと仲良しな「脆弱性」.

最近の2つについて,

チェックできるアプリがあるのでやってみました.

最近、セキュリティ研究者によってAndroid内蔵のメディアプレーヤー、Stagefrightに関わる一連の深刻な脆弱性が検出され、世界中のほぼすべてのAndroid端末が影響を受けることが明らかになりました。このStagefrightの脆弱性が攻撃者によって悪用されると、被害者にエクスプロイトを仕込んだマルチメディアメッセージ(MMS)を送信し遠隔操作によって端末からデータを搾取されるという深刻なセキュリティ問題が生じる恐れがあります。

Androidユーザー必読:Androidで新たな脆弱性「Stagefright 」を検出 | LOOKOUT ブログ

Stagefright Detector - Google Play の Android アプリ

20150810-143114

「Stagefright」はメディアプレイヤーフレームワークにまつわる脆弱性でしたが、Check Pointが報告した「Certifi-gate」は端末メーカーやネットワークサービスプロバイダーが用いるモバイル遠隔サポートツール(mRST)に関する脆弱性です。

mRSTは、サードパーティによるシステムレベルのプラグインと組み合わせることによって、端末の画面は現在どうなっているのかを把握したり、対象端末を遠隔で操作したりすることができるツールで、ユーザーから問い合わせを受けたときに、サポート担当者が遠隔で端末を操作することにより問題を解消するためのものです。しかし、mRSTには文字入力やアプリのインストールなどの特権があるので、悪用されるとユーザーの個人情報を盗まれたり、本来は端末の利用者でなければできない操作を行われる恐れがあります。

数百万台のAndroid端末が被害を受けうる脆弱性「Certifi-gate」の存在が明らかに - GIGAZINE

Certifi-gate Scanner - Google Play の Android アプリ

20150810-143045

と, あたしの場合は, 大丈夫なようですが,

多分, 今回のこの2つの脆弱性は,

大丈夫でなく晒されっぱなしの状態の端末も

今現在, 結構あるのだろうと思います.

正直, これらチェックアプリの判定で

「脆弱性あります!! 危険です!!」

といわれても, もう何もしない人のほうが多いような気がします.

そんなことはないか, 注意はしてるよな 注意は.


Google Play Services 7.5 にアップしたら 権限要求が増えた

少しサイズがでかいけど, 全部まとめて入れていました.

compile 'com.google.android.gms:play-services:7.5.0'

apk を Play Store にアップすると必要権限が増えているといわれる.

Google_Play_Developer_Console

結構ヘビーな権限が追加されてる.

コードはもちろん, AndroidManifest.xml もそのまま.

全部まとめ版 をやめて, 必要なものだけ入れましょう.

compile 'com.google.android.gms:play-services-ads:7.5.0'

これで, 実際に必要な権限だけで apk を作成, アップロードできます.

Setting_Up_Google_Play_Services_ ___ _Google_APIs_for_Android_ ___ _Google_Developers

Setting Up Google Play Services   |   Google APIs for Android   |   Google Developers