我試圖創建自己的url方案,所以我的android應用程序可以通過URL調用,但現在我沒有成功。android自定義url方案..?
我試着去使用這個URL工作:cedemo://com.cedemo.scan X = TOTO
這裏是我的清單文件的一部分:?
<activity android:name=".Gallery1" android:label="@string/app_name" android:launchMode="singleTask" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.GALLERY" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="cedemo" android:host="com.cedemo.scan" />
</intent-filter>
</activity>
有誰可以幫告訴我有什麼不對? 此外,如果有人發現什麼是錯的,有人可以告訴我如何從我的應用程序的Android代碼內讀取「X」變量?
更新:
更新:我做動作的修改(如答案的一個決定),它的正常工作。問題是我仍然無法獲得url變量值。這是我試過的代碼。
final Intent intent = getIntent();
final String myScheme=intent.getScheme();
final Bundle myBundle=intent.getExtras();
final boolean inContestKey;
if (myBundle != null) {
inContestKey=myBundle.containsKey("inContest");
}
final Uri myURI=intent.getData();
final String value;
if (myURI != null) {
value = myURI.getQueryParameter("inContest");
}
但我收到null
從所有的功能...我還能做什麼?
也許我應該更好地解釋我的軟件的情況下:
- 我的軟件啓動
- 我的軟件推出,然後在瀏覽器
- 用戶點擊瀏覽器中的鏈接和瀏覽器去對於URL方案,回用變量「X」的軟件(例如)
- 軟件應讀取變量「X」
但在我的情況下:myScheme
,myBundle
,myURI
設置爲null
。
任何想法?
更新:
我找到了答案是,你必須要在主要活動做到這一點。
您好:感謝您的相關信息這麼多。我將ACTION更改爲action.VIEW,並且工作正常。唯一的是,我無法趕上url變量「X」...我試過這段代碼: – Fabien 2010-10-27 07:59:05
public void onStart(){ \t super.onStart(); \t \t \t final Intent intent = getIntent(); \t final String myScheme = intent.getScheme(); \t final Bundle myBundle = intent.getExtras(); \t final boolean inContestKey; (myBundle!= null) \t \t inContestKey = myBundle.containsKey(「inContest」); final Uri myURI = intent.getData(); final String值; if(myURI!= null) \t value = myURI.getQueryParameter(「X」); 但一切都收到NULL值...我能做什麼? – Fabien 2010-10-27 08:00:11
爲了更好的閱讀,我編輯了我的問題。 – Fabien 2010-10-27 08:05:54