Устройство, на котором я тестирую, работает под управлением Android 2.3.4.
У меня есть игра Html5 / JavaScript.
Изначально у меня было меню и игра в одном и том же занятии, и оно работало нормально.Я только что загрузил URL игры из папки Assets.
Я хотел изменить это так, чтобы я запускал игру в новом Деятельности:
Intent gameIntent = new Intent(_context, GameActivity.class);
gameIntent.putExtra("gameLocation", "file:///android_asset/game/index.html");
((Activity) _context).startActivity(gameIntent);
Затем я загружаю это в новом Деятельности:
gameWebView.loadUrl(getIntent().getStringExtra("gameLocation"));
Iиспользуйте те же самые настройки для WebView в обоих действиях с включенным JavaScript и т. д.
Стандартные кнопки HTML и текст отображаются нормально, но элемент canvas не отображается, хотя элемент по-прежнему занимает правильный объем пространства.
Понятия не имею, почему он не работает.Я даже попытался указать WebView на онлайн-игру Html Canvas, и это тоже не работает.Редактировать: игра, на которую я указывал, работает в моем стандартном браузере телефона и в веб-представлении Активности, которую я установил в качестве панели запуска, а именно:
<activity
android:name=".MainActivity"
android:configChanges="keyboardHidden|orientation"
android:launchMode="singleTask" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Моя основная активность, в которой работает игра, имеет установленный режим запуска.на одну задачу.Я попробовал как стандартную, так и единую версию для игры Activity.
Есть идеи, что здесь может пойти не так?
РЕДАКТИРОВАТЬ: Я также попытался установить GameActivity в качестве средства запуска, и элемент Canvas работает.Похоже, что проблема возникает только при запуске игры в Деятельности, которая была запущена как Намерение.
Еще один РЕДАКТИРОВАТЬ (эта проблема действительно мне достается):
Я думаю, что проблема связана с тем фактом, что оба вида деятельности используют WebViews.Они указывают на совершенно разные ресурсы в моей папке ресурсов, но Activity A (Main) работает на JavaScript, затем Activity B (GameActivity) вызывается с намерением, а Canvas не визуализируется.Если я заменю действие A на простое действие, которое не имеет WebView и просто кнопку для запуска действия B, тогда Canvas работает в действии B. В попытке исправить это, я вызываю финиш на завершении действия A, когда запускаю намерение для B, ноэто все еще не сработало.Не уверен, какой ответ я на это ожидаю, но, возможно, кто-то здесь знает внутреннюю работу всего этого и может найти решение.