Xamarin C#呼叫转移代码放置

时间:2018-06-16 13:23:24

标签: c# android xamarin.forms xamarin.android

我正在使用Xamarin建立一个呼叫转移或呼叫转发应用程序。 我在网上找到了这段代码,我认为是负责呼叫转移操作的代码:

String callForwardString = "**21*1234567890#";
        Intent intentCallForward = new Intent(Intent.ActionDial); // ACTION_CALL
        Uri uri2 = Uri.fromParts("tel", callForwardString, "#");
        intentCallForward.SetData(uri2);
        startActivity(intentCallForward);

所以我有几个问题:

  1. 此代码是否是呼叫转移操作所需的正确代码?我想要一个解释这个代码中每个函数和行的内容的源代码。

  2. 因为它是一个特定于android的代码我感觉我必须把它放在我的Xamarin解决方案的android项目中。我对此是对的吗?

  3. 提前致谢!

1 个答案:

答案 0 :(得分:0)

  

此代码是否是我为呼叫转移操作所需的正确代码?

不,如果您的代码使用的是java,那么它应该是:

//callForwardString  is your phone number
String callForwardString = "**21*1234567890#";
//Use Intent.ACTION_DIAL action to define your intent,
//this action will show you the dialing interface
Intent intentCallForward = new Intent(Intent.ACTION_DIAL);

Uri uri2 = Uri.fromParts("tel", callForwardString, "#");
//put uri into your intent
intentCallForward.setData(uri2);
//jump to dialing interface with the data-uri2 which contains your phone number.
//in your dialing interface, the dialing activity will get the phone number from the data.
startActivity(intentCallForward);

您可以阅读this以了解目的是什么。

  

因为它的特定于android的代码我有一种感觉,我必须把它放在我的Xamarin解决方案的android项目中。我是对的吗?

是的,您需要将其转换为C#:

string callForwardString = "**21*1234567890#";

Intent intentCallForward = new Intent(Intent.ActionDial);

Uri uri2 = Uri.FromParts("tel", callForwardString, "#");

intentCallForward.SetData(uri2);

StartActivity(intentCallForward);