Chrome 自定义选项卡在 chrome 中作为新选项卡打开,为什么不在应用程序内部?
Chrome custom tab opens as a new tab in chrome not inside the app why?
如何在不在后台打开 Google Chrome 的情况下打开我的应用程序中的自定义选项卡...
这是我的代码
String a="http://www.gpamravati.ac.in/gpamravati";
CustomTabsIntent.Builder builder=new CustomTabsIntent.Builder();
CustomTabsIntent custom=builder.build();
custom.intent.setPackage("com.android.chrome");
builder.setToolbarColor(ContextCompat.getColor(this, R.color.colorPrimary));
custom.launchUrl(this, Uri.parse(a));
简而言之,
你应该打开一个片段 OnNavigationItemSelectedListener 并在打开的片段中使用 webview 并打开 Url。
xml 片段
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/main_webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
java 片段代码
public class UrlFragment extends Fragment {
private WebView mWebView;
//inflate the layout
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_url, container, false);
return v;
}
@Override
protected void onViewCreated(View view, Bundle savedInstanceState) {
mWebView = (WebView) view(R.id.main_webview);
// Enable Javascript
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.loadUrl("http://www.gpamravati.ac.in/");
mWebView.setWebViewClient(new WebViewClient());
}
}
并且在片段内的 webview 中打开 URL 所需的基本代码。阅读更多 here
终于通过添加解决了我的问题:
android:launchMode="singleTask"
只需将此代码添加到清单 activity
下
下面是输出
如何在不在后台打开 Google Chrome 的情况下打开我的应用程序中的自定义选项卡...
这是我的代码
String a="http://www.gpamravati.ac.in/gpamravati";
CustomTabsIntent.Builder builder=new CustomTabsIntent.Builder();
CustomTabsIntent custom=builder.build();
custom.intent.setPackage("com.android.chrome");
builder.setToolbarColor(ContextCompat.getColor(this, R.color.colorPrimary));
custom.launchUrl(this, Uri.parse(a));
简而言之, 你应该打开一个片段 OnNavigationItemSelectedListener 并在打开的片段中使用 webview 并打开 Url。
xml 片段
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/main_webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
java 片段代码
public class UrlFragment extends Fragment {
private WebView mWebView;
//inflate the layout
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_url, container, false);
return v;
}
@Override
protected void onViewCreated(View view, Bundle savedInstanceState) {
mWebView = (WebView) view(R.id.main_webview);
// Enable Javascript
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.loadUrl("http://www.gpamravati.ac.in/");
mWebView.setWebViewClient(new WebViewClient());
}
}
并且在片段内的 webview 中打开 URL 所需的基本代码。阅读更多 here
终于通过添加解决了我的问题:
android:launchMode="singleTask"
只需将此代码添加到清单 activity
下下面是输出