バグ #502
Android版のUnityアプリにおいて、ブラウザ起動時に例外が発生しアプリが終了する
ステータス: | 商用リリース | 開始日: | 2015/10/14 | |
---|---|---|---|---|
優先度: | 通常 | 期日: | ||
担当者: | 小野寺 悠二 | 進捗 %: | 0% | |
カテゴリ: | SDK | 作業時間の記録: | 6.00時間 | |
対象バージョン: | - |
説明
例外:
Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
- startActivity()をActivity外から呼び出す場合には、Intentにフラグ"FLAG_ACTIVITY_NEW_TASK"を付与する必要があるらしい
- Unityの場合はActivityではないContextで処理が実行されている?(不明)ので例外が起こっているのが原因?
対処案:
Xgeneration.java 237行目付近
before:
Intent i = new Intent(Intent.ACTION_VIEW,uri);
_context.startActivity(i);
after:
Intent i = new Intent(Intent.ACTION_VIEW,uri);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // これを追加
_context.startActivity(i);
参考:
http://319ring.net/blog/archives/1442
http://stackoverflow.com/questions/26718250/calling-startactivity-from-outside-of-an-activity-context-requires-the-flag-ac