2016-07-12 10 views
5

सभी को नमस्कार अच्छा दिन मैं एंड्रॉइड मेनएक्टिविटी से स्ट्रिंग वैल्यू या डेटा पीसीएल टैब्डपेज से कैसे पास करूं?एंड्रॉइड मेनएक्टिविटी से पीसीएल टैबबैड पेज xamarin.form

MainActivity.cs

using System; 
using Android.App; 
using Android.Content; 
using Android.Content.PM; 
using Android.Runtime; 
using Android.OS; 
using Android.Telephony; 
using Xamarin.Forms; 

    namespace NegDrClient.Droid 
    { 
    [Activity (Label = "Neg Client", Icon = "@drawable/logo", MainLauncher = true, ScreenOrientation = ScreenOrientation.Portrait)] 
    public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity 
    { 

     protected override void OnCreate (Bundle bundle) 
     { 
      base.OnCreate (bundle); 
      global::Xamarin.Forms.Forms.Init (this, bundle); 
      global::ZXing.Net.Mobile.Forms.Android.Platform.Init(); 
      LoadApplication (new App()); 
     } 

     public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults) 
     { 
      global::ZXing.Net.Mobile.Forms.Android.PermissionsHandler.OnRequestPermissionsResult (requestCode, permissions, grantResults);   
     } 

     public string GetNumber() 
     { 
      TelephonyManager telephonyManager = 
      (TelephonyManager) Forms.Context.GetSystemService(Android.Content.Context.TelecomService); 
      var number = telephonyManager.Line1Number; 
      return number.ToString(); 
     } 
    } 
    } 

मैं GetNumber() विधि कॉल करने के लिए तो मैं इसे अपने लॉगिन प्रविष्टि के लिए प्रदान कर सकते हैं, धन्यवाद की जरूरत है।

उत्तर

4

आप इसे निर्भरता सेवा के माध्यम से कर सकते हैं।

अपने Xamarin.Forms परियोजना के लिए निम्न इंटरफ़ेस जोड़ें:

public interface IPhone 
{ 
    string GetNumber(); 
} 

अपने अपने Xamarin.Android परियोजना के भीतर मौजूदा MainActivity है कि इंटरफेस जोड़ें:

public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity, IPhone 

रजिस्टर कि निर्भरता वर्ग (अपने namespace NegDrClient.Droid ऊपर) :

[assembly: Xamarin.Forms.Dependency(typeof(MainActivity))] 

अब आप इसे अपने Xamarin.Forms परियोजना में कॉल कर सकते हैं:

var GetNumberButton = new Button() 
{ 
    Command = new Command(() => { 
     Device.BeginInvokeOnMainThread(() => 
     { 
      var number = DependencyService.Get<IPhone>().GetNumber(); 
      System.Diagnostics.Debug.WriteLine(number); 
     }); 
    }) 
}; 

नोट: आपका GetNumber विधि उस में कोई त्रुटि है तो होना चाहिए:

public string GetNumber() 
{ 
    var telephonyManager = (TelephonyManager)Forms.Context.GetSystemService(Context.TelephonyService); 
    return telephonyManager.Line1Number; 
} 
संबंधित मुद्दे