<activity android:name=".MainActivity" android:label="@string/app_name" android:launchMode="singleInstance" > <!--これ--> (...) </activity>
launchMode については Y.A.M の雑記帳 : Android launchMode の違いに詳しく解説されているのでそちらを参照です。要するに、singleInstance の Activity はそれ単体でタスク(Activity のスタック)になるという設定なので、singleInstande のアクティビティから startActivityForResult を呼んで別の Activity を積むことができない、という事でした。
startActivityForResult で呼ぶ起動先のアプリが singleTask, singleInstance の場合も同じ問題が起こりそうです(singleTask, singleInstance のアクティビティはタスクのルートとなるので)。
Google Drive Android API を使おうとサンプルにそっていた際に、ConnectionResult.startResolutionForResult でこの問題に遭遇していたのでその辺りを探してしまっていましたが、問題はもっと基本的なところにありました。
無事、接続・認証の表示が出るようになり、これで先に進めそうです。
参考 : Android - startActivityForResult immediately triggering onActivityResult
0 件のコメント:
コメントを投稿