मैं ज़ैमरिन फॉर्म (क्रॉस प्लेटफ़ॉर्म) का उपयोग करके एक ऐप विकसित कर रहा हूं, और अक्षांश और देशांतर पारित करने के लिए, मैं अपने ऐप से वेज़ ऐप खोलने की कोशिश कर रहा हूं।
यह वेज़ बहुत अच्छी तरह से खुलता है, लेकिन वेज़ बस खुलता है, यह पता चला कि पता या अक्षांश/देशांतर पारित करने की कोशिश नहीं की गई।
वेज़ डीप लिंक
कुछ विचार मैं इसे कैसे काम करता हूं?
--- संपादित ---
अंत में, यह @SushiHangover से काम किया, विचार का उपयोग कर, मैं वांछित परिणाम प्राप्त करने में कामयाब रहे। अंतिम कोड यहाँ है:
public static Task<bool> OpenWazeAndroid(decimal latitude, decimal longitude, string address)
{
if (IsAndroid())
{
try
{
var lat = latitude.ToString().Replace(",",".");
var longi = longitude.ToString().Replace(",", ".");
const string wazePrefix = "waze://";
Android.Content.Intent intent = new Android.Content.Intent(Android.Content.Intent.ActionView, Android.Net.Uri.Parse(wazePrefix));
string wazeURL = ("https://waze.com/ul?q=" + address + "&ll=" + lat + "," + longi + "&z=8&navigate=yes");
wazeURL = wazeURL.Replace(" ", "%20");
var resolveInfo = Android.App.Application.Context.PackageManager.ResolveActivity(intent, 0);
Android.Net.Uri wazeUri;
if (resolveInfo != null)
{
wazeUri = Android.Net.Uri.Parse(wazeURL);
}
else
{
wazeUri = Android.Net.Uri.Parse("market://details?id=com.waze");
}
intent.AddFlags(Android.Content.ActivityFlags.NewTask);
intent.SetData(wazeUri);
Android.App.Application.Context.StartActivity(intent);
return Task.FromResult(true);
}
catch (Exception ex)
{
App.Shell.Alert("Erro ao abrir o Waze.\n" + ex.Message);
return Task.FromResult(false);
}
}
return Task.FromResult(false);
}
यह सही तरीका है की तरह लग रहा है, यह सोचते हैं कि 'client.Latitude' और' Longitude' अच्छा मान। उदाहरण के लिए, "https://waze.com/ul?q=Hawaii" उदाहरण के लिए, यदि आप खुले हैं तो वेज़ व्यवहार करते हैं? –
मैंने पते के साथ भी कोशिश की, यह वही व्यवहार था, बस ऐप खोलें, जगह की तलाश नहीं कर रहे थे। –