android - 后退按钮显示空白屏幕

标签 android facebook webview

当我按下手机的“后退”按钮时,它会显示一个空白页面。当我再次按下“后退”按钮时,它会显示应用程序的主页。我想在第一次返回时进入 mainActivity 页面。

mainActivity代码:

import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.text.style.SuperscriptSpan;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.os.Build;

public class MainActivity extends ActionBarActivity {

Button b1,b2,b3,b4,b5,b6,b7;
EditText e1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    b1=(Button)findViewById(R.id.call1);
    e1=(EditText)findViewById(R.id.call);

    b1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            String no=e1.getText().toString();
            Intent call=new Intent(Intent.ACTION_CALL);
            call.setData(Uri.parse("tel:"+no));
            startActivity(call);

            }
    });

    b2=(Button)findViewById(R.id.sens_sms);
    b2.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent sendsms=new   
Intent(getApplicationContext(),waytosms.class);
            startActivity(sendsms);
        }
    });
    b3=(Button)findViewById(R.id.facebook);
    b3.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent facebook=new Intent(MainActivity.this,facebook.class);
            startActivity(facebook);
            finish();

            }
    });
    b4=(Button)findViewById(R.id.gmail);
    b4.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent facebook=new Intent(MainActivity.this,gmail.class);
            startActivity(facebook);

        }
    });
    b5=(Button)findViewById(R.id.utube);
    b5.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent facebook=new Intent(MainActivity.this,utube.class);
            startActivity(facebook);

        }
    });
    b6=(Button)findViewById(R.id.google);
    b6.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent facebook=new Intent(MainActivity.this,google.class);
            startActivity(facebook);

        }
    });
    b7=(Button)findViewById(R.id.twitter);
    b7.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent facebook=new Intent(MainActivity.this,twitter.class);
            startActivity(facebook);

        }
    });
 }



}

这是我在这里使用 webview 打开 Facebook 页面的 Facebook 类:

public class facebook extends Activity{
WebView facebook;

@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.facebook);

    facebook=(WebView)findViewById(R.id.webfacebook);
    facebook.getSettings().setJavaScriptEnabled(true);
    facebook.loadUrl("https://facebook.com");
}

我在这里实现了 onbackPressed() 并调用了 finished() onbackpressed 方法对此完全没有影响。

@SuppressLint("NewApi")
 @Override
public void onBackPressed() {
    // TODO Auto-generated method stub
    super.onBackPressed();
    finish();
    Intent i=new Intent(facebook.this,MainActivity.class);
    startActivity(i);

}
}

1> first is main activity page where there are icon of social sites when i click on facebook icon it will open facebook as 2nd facebookActivity page,3> when i clicked back it will open a blank page and4>. nd when i again press back button it will opened the main activity page...

最佳答案

像这样更改您的 onBackPressed() 方法:

@Override
public void onBackPressed() {
    // TODO Auto-generated method stub
    super.onBackPressed();
    finish();
    Intent i=new Intent(getApplicationContext(),MainActivity.class);
    startActivity(i);
}

关于android - 后退按钮显示空白屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31863527/

相关文章:

java - 我正在将图像上传到 Firebase Storage,然后需要将图像 URL 作为文本添加到 Firebase 数据库中

node.js - 如何将 Node.js Webhook 链接到 Facebook 应用程序的 Messenger API?

facebook - 是否有可能/如何获取特定 Facebook 群组成员的数量(即使数量超过 500 人)?

android - 离线时在 webview 中加载 pdf

java - 如何在 WebView 中设置深色主题?

android - 使用底部导航在flutter中的dart文件之间切换

java - 应用程序崩溃但方法仍然有效?

android - 将uri存储在mysql数据库中的最佳方式

ios - swift中的动态webview高度问题

android - 缩小 Webview 内容宽度以适合屏幕