我正在使用uber api获取我的应用和特定的乘车请求小部件。我想用自己的自定义按钮代替优步的RideRequestButton。
这是乘车请求按钮的静态代码。
private RideRequestButton blackButton;
blackButton = (RideRequestButton) findViewById(R.id.uber_button_black);
blackButton.setRequestBehavior(new RideRequestActivityBehavior(this,WIDGET_REQUEST_CODE));
是否可以在我自己的按钮上应用该功能。?
答案 0 :(得分:1)
简单按钮的自定义选项目前是一种配色方案,您可以选择白色主题或黑色主题。请参阅此处的文档:https://github.com/uber/rides-android-sdk#ride-request-button
但是,在后台,按钮只会打开一个深层链接。如果您愿意,可以使用该深层链接并在其上创建自己的自定义按钮。请查看“RequestDeeplinkBehavior”类中“requestride”方法的文档:https://github.com/uber/rides-android-sdk/blob/master/rides-android/src/main/java/com/uber/sdk/android/rides/RequestDeeplinkBehavior.java
答案 1 :(得分:0)
如果我们有自己的按钮,但我们仍然需要使用Uber sdk,希望这可能会有所帮助。有关详细信息,请参阅文档here
使用信息中心中的键构建会话配置。
model = QtSql.QSqlTableModel()
model.setTable("Individuals")
model.setEditStrategy(QtSql.QSqlTableModel.OnManualSubmit)
model.select()
model.setFilter("Name='Anderson'")
self.tableView.setModel(model)
然后设置骑行参数以及所需的拾取和下降位置。
SessionConfiguration sessionConfig = new SessionConfiguration.Builder()
.setClientId(CLIENT_ID)
.setServerToken(SERVER_TOKEN)
.setRedirectUri(REDIRECT_URI)
.setClientSecret(CLIENT_SECRET)
.build();
使用会话配置和乘坐参数构建深层链接。
RideParameters rideParameters = new RideParameters.Builder()
.setPickupLocation(Double.parseDouble(lat), Double.parseDouble(lng), "Your location", "Current Address")
.setDropoffLocation(Double.parseDouble(mEvent.getLatitude()), Double.parseDouble(mEvent.getLongitude()), mEvent.getName(), mEvent.getCity())
.build();
最后从深层链接获取uri并将其作为意图传递。
mDeepLink = new RideRequestDeeplink.Builder(getActivity())
.setSessionConfiguration(sessionConfig)
.setFallback(Deeplink.Fallback.APP_INSTALL)
.setRideParameters(rideParameters)
.build();
它将始终打开应用程序,如果没有安装,请手动重定向到Play商店。