2016-05-17 9 views
2

私はUber Appで自分のアプリケーションを逆参照しようとしています。これは私がテストとして使用しているコードです:「:」「ドロップオフ[ニックネーム] =会議:のAVパウリスタ、1000年 - ベラ・ビスタ」のディープリンク:ニックネームフィールドがクラッシュするUber App

String uri = "uber://?action=setPickup&pickup=my_location&dropoff[latitude]=-23.56491&dropoff[longitude]=-46.652005&dropoff[formatted_address]=Av Paulista, 1000 - Bela Vista&dropoff[nickname]=Meeting: Av Paulista, 1000 - Bela Vista"; 

     Intent intent = new Intent(Intent.ACTION_VIEW); 

     intent.setData(Uri.parse(uri)); 
     startActivity(intent); 

問題は、ユーバーアプリケーションをクラッシュ(アプリuberの読み込み画面が表示され、アプリがクラッシュします)。 ":"を削除すると、スムーズに動作します。

私はこれについて何かできることはありますか?

ありがとうございます!

答えて

1

:は、URIスキームの予約文字であり、%(つまり、%3A)である必要があります。

(ありな[]としてあなたのURI内の他の予約文字は、ですが、それはユーバーアプリが何らかの理由で:に敏感であることかもしれません。私はあなたが本当にため:をエンコードする必要があります信じていません。その位置にデリミタとして機能することはできませんが、試してみる価値があります)。

RFC 3986 section on percent encodingと予約文字の近くのセクションを参照してください。

+0

ありがとうdavmac! %3Aを使用すると効果がありましたが、実際には ":"だけをエンコードする必要があります。とにかく、それは働いた! :) –

関連する問題