以下是使用 Android 11 上的 Nearby Connections 广告 API 的代码示例:
首先,为了使用此功能,您需要将以下依赖项添加到您的应用程序级别的 build.gradle 文件中:
dependencies {
implementation 'com.google.android.gms:play-services-nearby:17.0.0'
}
在您的应用程序中,您需要初始化 Nearby Connections API。在 onCreate() 方法中添加以下代码:
GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Nearby.CONNECTIONS_API)
.addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() {
@Override
public void onConnected(Bundle bundle) {}
@Override
public void onConnectionSuspended(int i) {}
})
.addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {}
})
.build();
mGoogleApiClient.connect();
接下来,您需要为通过 Nearby Connections 广告服务进行通信的设备创建回调。在您的 Activity 或 Fragment 中实现以下回调:
private final ConnectionLifecycleCallback mConnectionLifecycleCallback =
new ConnectionLifecycleCallback() {
@Override
public void onConnectionInitiated(
@NonNull String endpointId, @NonNull ConnectionInfo connectionInfo) {
// 处理连接请求
Nearby.getConnectionsClient(getContext()).acceptConnection(endpointId, mPayloadCallback);
}
@Override
public void onConnectionResult(@NonNull String endpointId, @NonNull ConnectionResolution result) {}
@Override
public void onDisconnected(@NonNull String endpointId) {}
};
然后,您需要创建一个用于呈现广告的服务,并初始化它:
AdvertisingOptions options = new AdvertisingOptions.Builder()
.setStrategy(Strategy.P2P_STAR)
.build();
Nearby.getConnectionsClient(this)
.startAdvertising(
/* endpointName= */ "EndpointName",
/* serviceId= */ "com.example.app",
mConnectionLifecycleCallback,
options)
.addOnSuccessListener(new OnSuccessListener() {
@Override
下一篇:Android11上的中止异常