Я запускаю простое действие ACTION.VIEW, чтобы открыть веб-браузер.
Но когда пользователь нажимает клавишу «назад», он возвращается к моему начальному приложению. Приложение работает отлично, за исключением того, что все основные элементы интерфейса исчезли.
Кто-нибудь знает почему?
Вот как я запускаю веб-браузер:
//Go to web page
ImageButton web = (ImageButton) _gears.findViewById(R.id.Web);
web.setOnClickListener(
new View.OnClickListener()
{
@Override
public void onClick(View v)
{
try
{
String url = "http://apps.toonboom.com/flip-boom-lite-ipad";
Intent i = new Intent(Intent.ACTION_VIEW);
Uri u = Uri.parse(url);
i.setData(u);
_mainActivity.startActivity(i);
}
catch (ActivityNotFoundException e)
{
// Raise on activity not found
Toast.makeText(_mainActivity.getApplicationContext(), "Browser not found.", Toast.LENGTH_SHORT);
}
}
});
При возвращении со страницы браузера функции onStart () и onResume () вызываются как обычно. Чего я не понимаю, так это того, что жизненный цикл кнопок «назад» и «домой» работает отлично. Пользователь может вручную выйти из приложения и вернуться без проблем с пользовательским интерфейсом. Проблема возникает только при возвращении из этого вызова startActivity ()?
Кроме того, мне не нужно сохранять какие-либо конкретные значения пользовательского интерфейса .... Я просто хочу, чтобы они присутствовали в макете;)
EDIT
У меня есть представление gles, которое я использую для рисования, и я думаю, что оно отображается перед другими элементами пользовательского интерфейса .... Но я не понимаю, почему, если это так ...
Вот фрагмент xml и метода onCreate:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/MainLayout">
<!-- This is a dummy layout so we can add our custom GlView dynamically to this relative position -->
<LinearLayout
android:id="@+id/SurfaceViewLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"/>
<!-- This is a dummy layout so we can add the timeline dynamically to this relative position -->
<HorizontalScrollView
android:id="@+id/TlScroller"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_margin="0dip"
android:padding="0dip"
android:scrollbars="none"
android:fillViewport="false"
android:scrollbarFadeDuration="0"
android:scrollbarDefaultDelayBeforeFade="0"
android:fadingEdgeLength="0dip"
android:scaleType="centerInside">
<!-- HorizontalScrollView can only host one direct child -->
<LinearLayout
android:id="@+id/TimelineContent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_margin="0dip"
android:padding="0dip"
android:scaleType="centerInside"/>
</HorizontalScrollView >
<RelativeLayout
android:id="@+id/BottomTools"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@id/TlScroller" >
<ImageButton
android:id="@+id/PaletteBtn"
android:layout_width="30dip"
android:layout_height="30dip"
android:background="@android:color/transparent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginLeft="5dip"
android:layout_marginBottom="60dip"
android:src="@drawable/palette44x44"
android:scaleType="centerInside"/>
<RelativeLayout
android:id="@+id/PadLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:src="@drawable/pad_btn"
android:scaleType="centerInside">
<ImageButton
android:id="@+id/PadBtn"
android:layout_width="75dip"
android:layout_height="75dip"
android:background="@android:color/transparent"
android:layout_centerInParent="true"
android:src="@drawable/pad_btn"
android:scaleType="centerInside"/>
<TextView
android:id="@+id/FrameCounter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="0dip"
android:padding="0dip"
android:layout_centerInParent="true"
android:textColor="#000000"
android:text="#/x"/>
</RelativeLayout>
<ImageButton
android:id="@+id/PreviousBtn"
android:layout_width="40dip"
android:layout_height="40dip"
android:background="@android:color/transparent"
android:layout_toLeftOf="@+id/PadLayout"
android:layout_alignParentBottom="true"
android:layout_marginBottom="15dip"
android:src="@drawable/previous_btn"
android:scaleType="centerInside"
android:scaleHeight="30%"
android:scaleWidth="30%"/>
// Goes like that with other ImageButton till the end bracket
= = =
@Override protected void onCreate(Bundle icicle)
{
super.onCreate(icicle);
//Set the main layout element
setContentView(R.layout.ui);
// Then most buttons are created like this . . .
//Create the tools pop-up menu
ImageButton toolBtn = (ImageButton) this.findViewById(R.id.CurrentToolBtn);
_tools = new ToolsPopup(toolBtn);
}