我只是想知道我是否能像Android一样专注于优步应用程序。
对于Android我的确如下:
requestButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
Intent i;
PackageManager manager = getPackageManager();
try {
i = manager.getLaunchIntentForPackage("com.ubercab");
if (i == null)
throw new PackageManager.NameNotFoundException();
i = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:"+ job.getCompany().getLat()+
","+ job.getCompany().getLon()+
"?q="+ job.getCompany().getLat()+","+ job.getCompany().getLon()+
"("+ job.getCompany().getName()+")"));
i.setPackage("com.ubercab");
startActivity(i);
} catch (PackageManager.NameNotFoundException e) {
coordinatorLayout = (CoordinatorLayout) findViewById(R.id.cord);
Snackbar snackbar = Snackbar
.make(coordinatorLayout, "Please install Uber App", Snackbar.LENGTH_LONG)
.setAction("Install", new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=com.ubercab"));
startActivity(intent);
}
});
snackbar.show();
}
对于Swift 4,我确实喜欢这个。
if (UIApplication.shared.canOpenURL(URL(string:"uber://")!)) {
alert.addAction(UIAlertAction(title: "Uber Ride", style: .default, handler: { (alert) in
UIApplication.shared.open(URL(string: "uber://?ll=\(location.coordinate.latitude),\(location.coordinate.longitude)&navigate=no")!, options:[:], completionHandler: nil)
}))
}
是的,它确实从我的应用程序转到优步应用程序,但它并不意味着坐标也像Android一样。我的问题是,是否可以像Android一样使用坐标来意图使用其他应用程序?
答案 0 :(得分:0)
您可以用Uber iOS app has a URL scheme来实现您的要求。它们还提供Uber Rides iOS SDK,允许您通过提供坐标等轻松生成深层链接。