我正在尝试使用Xamarin.forms android项目中的AudioManager在单击按钮时将振铃器模式更改为静音
我尝试了这段代码,实际上我认为它是正确的
private void Silent_Clicked(object sender, EventArgs e)
{
AudioManager am = (AudioManager)this.GetSystemService(Context.AudioService);
am.RingerMode = RingerMode.Silent;
}
但是我收到有关GetSystemService的错误
严重性代码描述项目文件行抑制状态 错误CS1061“ MainPage”不包含以下内容的定义: “ GetSystemService”,没有可访问的扩展方法 'GetSystemService'接受类型为'MainPage'的第一个参数 被发现(您是否缺少using指令或程序集 参考?)RingDemo C:\ Users \ GTS \ Desktop \ RingDemo \ RingDemo \ RingDemo \ MainPage.xaml.cs 25有效
我找不到合适的组件
答案 0 :(得分:0)
在您的Xamarin.forms
项目中,定义一个接口:
public interface IChangeRingModeService
{
void changeRingMode();
}
在您的.Android
项目中,创建一个新类并实现该接口:
public class ChangeRingModeService : IChangeRingModeService
{
public void changeRingMode()
{
AudioManager am = (AudioManager)Application.Context.GetSystemService(Context.AudioService);
am.RingerMode = RingerMode.Silent;
}
}
在您单击事件中,呼叫changeRingMode
:
private void Silent_Clicked(object sender, EventArgs e)
{
DependencyService.Get<IChangeRingModeService>().changeRingMode();
}