Android - 使用QRCode 導入 App 裡的特定頁面與內容

摘要: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