我只是想知道我是否可以像 Android 一样向 Uber 应用程序发送坐标。
对于 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)
}))
}
是的,它确实从我的应用程序转到 Uber 应用程序,但它并不像 Android 那样具有协调性。我的问题是,是否有可能像 Android 那样通过坐标来意图其他应用程序?
最佳答案
Uber iOS app has a URL scheme您可以用它来实现您的要求。他们还提供 Uber Rides iOS SDK允许您通过提供坐标等轻松生成深层链接。
关于ios - 从我的应用程序获取坐标到 Uber(ios、swift4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49185685/