2016-08-29 11 views
0

メールアプリケーションが共有ボタンをクリックしてアプリケーションを開くことができる共有機能があります。ユーザーがメールアプリケーションから共有をクリックしたときに私のアプリを開くことができます。問題はOpenUrlメソッドです。アップロード機能は、アプリが開かれて終了する前に、上記のコードでiOSのopenURLのオーバーライドされたメソッドを待つ方法は?

public override bool OpenUrl(UIApplication application, NSUrl url, string sourceApplication, NSObject annotation) 
{ 
    Upload(url); 
    return true; 
} 

async public Task<bool> Upload(NSUrl SharedUri) 
{ 
    //upload 
} 

問題Upload機能が待望されていないためである。

以下は私のOpenURLメソッドです。

OpenUrlのタスクはどのようにして待機できますか?

+0

あなたは 'OpenUrl'方法がかなりトリガされた後のことができます待ちたい理由:

私はあなたがユーザーにアクションのいくつかの兆候を示さなければならないことをスニルに同意
public override bool OpenUrl(UIApplication application, NSUrl url, string sourceApplication, NSObject annotation) { return this.Upload(url).Result; } async public Task<bool> Upload(NSUrl SharedUri) { await SomeUploadTask(); return true; } 

は、ここにあなたが使用する必要がありますコントロールですファイルをアップロード中にいくつかのインジケータを表示 –

+0

私はどのようにそれを行うことができますか? – Arti

答えて

0

ここには多くのオプションがあり、そのうちの1つがアップロードの結果を返しています。アップロードの中で時間のかかる作業を待つことを忘れないでください。 https://developer.xamarin.com/api/type/Xamarin.Forms.ActivityIndicator/

+0

応答をありがとう、提案は私のために動作しません。アプリがスプラッシュスクリーンに詰まり、クラッシュします。あなたは他の方法を提案できますか? – Arti

+0

私はappdelegateがcommnetを持っていることに気づきました。 '//あなたはこのメソッドから戻るのに17秒か、iOSがあなたのアプリケーションを終了させます。 – Arti

+0

ここでワークフローが正確に何であるか教えていただけますか?メールアプリケーションでは、ファイル/メールの共有機能を使用してアプリを開きますか?そしてあなたのアプリでこのコンテンツを使って何をやっているのか、次に何が起こるのでしょうか?このアップロードタスクが終了した後、あなたはあなたのアプリを閉じて、メールアプリケーションに戻ってください。 –

関連する問題