许多应用程序必须在其应用程序中显示不同类型的网页。为了在Android中显示网页,我们有很多功能可以在Android应用中显示网页。开发人员通常更喜欢使用WebView或将用户重定向到其应用程序内的任何浏览器。但是在浏览器中打开网页以及在Android WebView中显示网页有时会成为我们必须执行的繁重任务。而不是使用WebView并在浏览器中打开网页。我们可以简单地在应用程序中使用自定义的chrome选项卡,使此任务更轻松,更轻松。许多应用程序使用自定义Chrome标签的功能通过自定义Chrome标签将其用户从其应用重定向到任何网页。因此,在本文中,我们将介绍Android中“自定义Chrome”标签的实现。
在Android中实现自定义Chrome标签页
使用“自定义Chrome”标签,我们只需在Android应用中点击按钮即可显示GFG网页。下面提供了一个示例GIF,您将从中了解我们在本文中将要做的事情。请注意,我们使用Java语言在Android中实现Chrome标签。
分步实施
步骤1:创建一个新项目
要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Java作为编程语言。
第2步:将依赖项添加到build.gradle(Module:app)
导航到Gradle脚本> build.gradle(Module:app)并将以下依赖项添加到“依赖项”部分。
implementation ‘androidx.browser:browser:1.2.0’
现在同步选项将出现在右上角,单击立即同步选项。
步骤3:使用activity_main.xml文件
转到activity_main.xml文件,并参考以下代码。以下是activity_main.xml文件的代码。
XML
Java
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
import androidx.browser.customtabs.CustomTabsIntent;
import androidx.core.content.ContextCompat;
public class MainActivity extends AppCompatActivity {
Button customChromeTabBtn;
// url for loading in custom chrome tab
String url = "https://www.geeksforgeeks.org/";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// initializing button for opening custom chrome tabs.
customChromeTabBtn = findViewById(R.id.idBtnCustomChromeTab);
customChromeTabBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// initializing object for custom chrome tabs.
CustomTabsIntent.Builder customIntent = new CustomTabsIntent.Builder();
// below line is setting toolbar color
// for our custom chrome tab.
customIntent.setToolbarColor(ContextCompat.getColor(MainActivity.this, R.color.purple_200));
// we are calling below method after
// setting our toolbar color.
openCustomTab(MainActivity.this, customIntent.build(), Uri.parse(url));
}
});
}
public static void openCustomTab(Activity activity, CustomTabsIntent customTabsIntent, Uri uri) {
// package name is the default package
// for our custom chrome tab
String packageName = "com.android.chrome";
if (packageName != null) {
// we are checking if the package name is not null
// if package name is not null then we are calling
// that custom chrome tab with intent by passing its
// package name.
customTabsIntent.intent.setPackage(packageName);
// in that custom tab intent we are passing
// our url which we have to browse.
customTabsIntent.launchUrl(activity, uri);
} else {
// if the custom tabs fails to load then we are simply
// redirecting our user to users device default browser.
activity.startActivity(new Intent(Intent.ACTION_VIEW, uri));
}
}
}
步骤4:使用MainActivity。 Java文件
转到MainActivity。 Java文件并参考以下代码。下面是MainActivity的代码。 Java文件。在代码内部添加了注释,以更详细地了解代码。
Java
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
import androidx.browser.customtabs.CustomTabsIntent;
import androidx.core.content.ContextCompat;
public class MainActivity extends AppCompatActivity {
Button customChromeTabBtn;
// url for loading in custom chrome tab
String url = "https://www.geeksforgeeks.org/";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// initializing button for opening custom chrome tabs.
customChromeTabBtn = findViewById(R.id.idBtnCustomChromeTab);
customChromeTabBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// initializing object for custom chrome tabs.
CustomTabsIntent.Builder customIntent = new CustomTabsIntent.Builder();
// below line is setting toolbar color
// for our custom chrome tab.
customIntent.setToolbarColor(ContextCompat.getColor(MainActivity.this, R.color.purple_200));
// we are calling below method after
// setting our toolbar color.
openCustomTab(MainActivity.this, customIntent.build(), Uri.parse(url));
}
});
}
public static void openCustomTab(Activity activity, CustomTabsIntent customTabsIntent, Uri uri) {
// package name is the default package
// for our custom chrome tab
String packageName = "com.android.chrome";
if (packageName != null) {
// we are checking if the package name is not null
// if package name is not null then we are calling
// that custom chrome tab with intent by passing its
// package name.
customTabsIntent.intent.setPackage(packageName);
// in that custom tab intent we are passing
// our url which we have to browse.
customTabsIntent.launchUrl(activity, uri);
} else {
// if the custom tabs fails to load then we are simply
// redirecting our user to users device default browser.
activity.startActivity(new Intent(Intent.ACTION_VIEW, uri));
}
}
}