摘要:Android - 使用QRCode 導入 App 裡的特定頁面與內容
看到一篇文章
http://sofree.cc/facebook-fans-qr-code-app/
可以使用自製的QRCode 用 Facebook App 開啟粉絲頁。
先是查
http://graph.facebook.com/[facebook username]
取得了 facebook Id 後,
並用
http://qrcode.emome.net/qrcpromote/QRDIYManager
QRCode 產生器,產生自己app對應的URI
Facebook 如下
fb://profile/剛剛複製的ID
這時真的拿QRCode 掃的時候,還真的直接開啟Facebook App 開啟了粉絲頁。
我在想這fb://,為什麼可以做得到。
Google 了一下,找到了。
http://www.dotblogs.com.tw/pou/archive/2012/01/01/64089.aspx
這篇文章的範例,讓我知道為什麼fb:// 可以做得到。
要在你的AndroidManifest.xml設定
<activity android:name=".StartActivity">
<intent-filter>
<!-- 宣告該Activity的Action主要類型 -->
<action android:name="android.intent.action.VIEW"/>
<!-- 定義該Activity支援瀏覽模式 -->
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<!-- 定義要處理的URL Schema -->
<data android:scheme="myapp"/>
</intent-filter>
</activity>
要能夠支援BROWSABLE,並且data 的android:schema設為myapp。
則myapp://就有作用。
只要URL格式如下,QRCode掃到之後,就自動導入app該頁面。
而該頁面的Activity,就可以從Intent取得URI的相關資訊,在做對應的資料處理
//取得URL所帶進來的Intent物件
Intent tIntent = this.getIntent();
//取得Schema
String tSchema = tIntent.getScheme();
//取得URL
Uri myURI = tIntent.getData();
if (myURI != null) {
//取得URL中的Query String參數
String tValue = myURI.getQueryParameter("SID");
}
URI格式如下:
myapp://xxxxx?SID=xxxxxx