java如何在安卓上的widget中使用getSystemService?
我想通过点击桌面上的小部件来使用唤醒锁来保持屏幕打开
代码如下:
final PowerManager pm = (PowerManager)getSystemService(context.POWER_SERVICE);
PowerManager.WakeLock mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE, "");
mWakeLock.acquire();
但是它说getSystemService
不能被使用
如果不是“扩展活动”
请帮忙
# 1 楼答案
扩展
AppWidgetProvider
时,所有方法都会传入一个Context
对象getSystemService
方法是Android中Context
类的一部分,因此您可以使用传入的上下文获取它见:Context and getSystemService on Android Developers
示例代码:
示例代码使用onEnabled方法作为示例,但这也适用于其他方法,如
onDisabled
、onUpdate
、onAppWidgetOptionsChanged
等# 2 楼答案
在非活动类或小部件中使用
getSystemService
时,需要使用适当的context
并将camel case
Context
用于Context.POWER_SERVICE
希望这有帮助