2014-07-01 21 views
0

我有一個在Xamarin開發的跨平臺的應用程序。在IOS版本我使用自定義URL方案在Web視圖加載特定的網頁,如android自定義方案和chrome intent

MYAPP:// RETURNURL = HTTP:/google.com.au

由於客戶很少有其他應用程序,他希望保持自定義方案的格式相同。在Android中,我發現這樣的意圖可以從Firefox打開,但不能形成電子郵件或Chrome。我發現Chrome needs a custom intent to make it work。我試圖實現,但無法使其工作。

這裏是我的清單執行:

[Activity(Label = "MyApp", 
    MainLauncher = true, 
    LaunchMode = LaunchMode.SingleTask, 
    ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize)] 
[IntentFilter(new[] { Intent.ActionView }, 
    Categories = new[] { Intent.CategoryDefault, Intent.CategoryBrowsable }, 
    DataScheme = "myapp")] 

至極將創建下列清單文件:

<activity android:configChanges="orientation|screenSize" android:label="MyApp" android:launchMode="singleTask" android:name="myapp.auth.droid.MainActivity"> 
    <intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
    <intent-filter> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
    <data android:scheme="myapp" /> 
    </intent-filter> 
</activity> 

我試圖從Firefox拍攝意圖並將其轉換爲URI中的應用,但以下意圖是不是從Chrome工作(它從Firefox BTW工作):

myapp://?returnUrl = http:/ google。 com.au#意圖;行動= android.intent.action.VIEW; launchFlags = 0x4400000;成分= MyApp.MyApp/myapp.auth.droid.MainActivity;結束

我缺少的東西?

備註。 http://方案可以使用,但它不是一個首選的選項。

注2。我使用的Nexus 5,安卓4.4.4

+0

可以ÿ ou在那裏放置一個虛擬主機,或者只是一個額外的斜槓,'myapp:// dummy /?returnUrl ...' – domen

回答

2

鉻,您需要使用Chrome的意圖,舊的方式在不再支持的版本18

後的目的應該是這樣的東西在這個格式

intent://some_optional_data#Intent;scheme=app_scheme;package=package_name;end 

看看這個網站了解更多詳細信息:Android Intents with Chrome

這種方法也將回落到谷歌播放以及

+0

顯然,我可以使用Chrome 36.0.1985.131的舊方法。 – domen

+3

這個答案沒用。它沒有解釋url的組件。 Android與Chrome的意圖也是一個可怕的文件。 – caleb

+0

你有更好的嗎? @caleb – joerx