当连接丢失时阻止屏幕

时间:2014-10-12 12:36:52

标签: android

我有一个聊天app.If连接丢失我想阻止屏幕。例如:

如果一切正常,用户可以看到此屏幕:

enter image description here

当连接丢失时,用户应该看到这个屏幕:

enter image description here

当连接丢失时,用户不应该写信息或者无法点击发送按钮。这是我的xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ECECFB"
    android:orientation="vertical" >

    <RelativeLayout
        android:id="@+id/comment_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true" 
        android:background="@drawable/border_top"
        android:layout_marginTop="5dp"
        >

        <EditText
            android:id="@+id/message"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_toLeftOf="@+id/get_from_user"
            android:textSize="14sp" >

            <requestFocus />
        </EditText>

   <ImageButton
       android:id="@+id/get_from_user"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentRight="true"
       android:layout_centerVertical="true"
       android:gravity="right"
       android:background="@drawable/send_button_bg" />

    </RelativeLayout>

    <ListView
        android:id="@+id/message_list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/comment_layout"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:stackFromBottom="true"
android:transcriptMode="normal" >
    </ListView>

</RelativeLayout>

我该怎么做?我需要xml

1 个答案:

答案 0 :(得分:0)

使用Broadcastreceiver并在onReceive中使用

检查连接方法
ConnectionManager connMgr=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
        activeInfo = connMgr.getActiveNetworkInfo();
        if (activeInfo != null && activeInfo.isConnected())
{
//load a different xml
}

使用适当的操作注册接收器并使用

uses-permission android:name =&#34; android.permission.ACCESS_NETWORK_STATE&#34;