如何在 xamarin android 中更改铃声模式



我试图在 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"主页"不包含 "获取系统服务"和没有可访问的扩展方法 "GetSystemService"接受类型为"MainPage"的第一个参数可以 被发现(是否缺少使用指令或程序集 参考? RingDemo C:\Users\GTS\Desktop\RingDemo\RingDemo\RingDemo\MainPage.xaml.cs 25 Active

我无法找到适合它的组件

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();
}

最新更新