2012年2月7日火曜日

ブラウザからアプリを立ち上げてみよう!

こういう要件があって、面倒やなーとなっていましたがあっさりとできたので備忘録。

1.Manifext.xmlでActivityの定義を行う









こんな感じで定義します。
ここでミソなのがintent-filter内の



です。

まず、

はブラウザから参照できますよーという意味だったはずです。
うん、うろ覚えですみません。

そして、

はブラウザというかhtmlに指定するスキーマです。
こちらはアプリで一意になるようにした方が良いです。
他のアプリでもこういうことをしているアプリと競合が起きたら困りますもの。
とりあえず、これで下準備はOK


2.呼び出し元のhtmlの準備
ブラウザから呼び出すためにはhtmlが必要なのねん。
というわけで、どういう風なhtmlを準備すればよいのかを簡単に記載します。

 

アプリ起動テスト
 
アプリ起動
基本的にはこの書き方でOKです。
確か動いたので。

そして、やはりWebとの連携ですからWeb側から適宜DBの値をgetで貰うことも可能です。
その場合はhtmlは
 

アプリ起動テスト
 
アプリ起動
と記載します。

3.Activityの準備
呼び出される側のActivityの準備です。
今回はとりあえず基本的なこととして、onCreateで取得したURLをLogcatに表示させるようにします。

protected void onCreateDetail(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Intent intent = getIntent();
String action = intent.getAction();

if(Intent.ACTION_VIEW.equals(action)){

Uri uri = intent.getData();
String url = uri.toString();
//とりあえずログに出す
Log.d("Dbg", "uri = [" + url + "]");
}

こんな感じで書けば「startapp://id=123」が文字列として取得できるので、適宜処理をしてあげて素敵にしましょう。

ふう、マジメな記事を書いて疲れました…。

0 件のコメント:

コメントを投稿