在应用程序中重用WebView Activity

时间:2016-10-25 17:11:10

标签: android android-studio android-activity android-webview

我在该活动中创建了一个只有WebView的活动,我想在多个地方使用该活动,我只需要传递URL和PAGETITLE作为参数,这是最好的做法。让它工作或者我应该为每个需要加载的webview创建一个新活动吗?

由于

public class WebviewActivity extends BaseAppCompatActivity {
private WebView mWebView;
private String mPageTitle,mUrl;

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

    Bundle extras = getIntent().getExtras();
    if (extras == null) {
        mPageTitle = "pagetitle";
        mUrl = null;

    } else {
        mPageTitle = extras.getString(Constants.PAGE_TITLE);
        mUrl = extras.getString(Constants.URL);
    }

    if (getSupportActionBar() != null) {
        getSupportActionBar().setTitle(mPageTitle);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }

    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);

    mWebView.setWebViewClient(new WebViewClient());
    mWebView.loadUrl(mUrl);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            onBackPressed();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
    }
}

1 个答案:

答案 0 :(得分:0)

您可以像发布其他活动一样重复使用此活动,方法是发送ACCESS_KEYGUARD_SECURE_STORAGE来启动它:

Intent

系统处理其生命周期(创建,销毁等),因此这是您应该重复使用它的唯一方法。