我在以前的Android版本中实现了此功能,直到第10版,它的工作都没有问题
这是我的代码:
[BroadcastReceiver(Enabled = true, Exported = false)]
public class Alarm : BroadcastReceiver
{
public async override void OnReceive(Context context, Intent intent)
{
PowerManager pm = (PowerManager)context.GetSystemService(Context.PowerService);
PowerManager.WakeLock wl = pm.NewWakeLock(WakeLockFlags.Partial, "");
wl.Acquire();
Vibrator v = (Vibrator)context.GetSystemService(Context.VibratorService);
v.Vibrate(800);
var audio = new AudioService();
await audio.PlayMp3File("1");
Intent i = new Intent(context, typeof(MainActivity));
i.AddFlags(ActivityFlags.NewTask);
context.StartActivity(i);
}
}
在10.0版中,设备无需启动应用程序即可播放MP3音频
我找不到解决方案,但我引用了Wikipedia
隐私权与安全性
Android 10中发生了几项主要的安全和隐私更改:.........后台应用程序启动活动也受到了新的限制。出于安全性(由于被点击劫持恶意软件使用)和性能方面的限制原因是,Android 10 Go Edition禁止使用叠加层,但在设备升级到Android 10之前已获得许可的应用除外。
有什么解决办法吗?
Google现在建议使用通知作为提示,从“后台”启动您的应用程序。
即,必须让用户参与启动应用程序的决定
在几乎所有情况下,后台应用程序都应显示对时间敏感的通知,以向用户提供紧急信息,而不是直接启动活动。何时使用此类通知的示例包括处理传入的电话或活动的闹钟。
Google拥有完整的文档,其中涵盖了Android10现在何时以及如何处理它:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句