在我的应用程序中,我需要锁定和解锁手机.我搜索了它,我找到了许多答案,我尝试了它们,但没有人工作.
onCreate()在我完成活动时,我需要再次打开手机并再次锁定手机.
你们知道做同样的方法吗?
谢谢朋友.
编辑:
我尝试过的一些链接是:
https://groups.google.com/forum/#!topic/android-developers/BOLjJTMO4zE
在我的应用程序中,我正在使用AlarmManager然后启用手机锁来安排任务.我的活动是在预定时间开始,但它没有解锁我的手机.当我解锁我的手机时,手动运行活动就出现了
小智 11
在BroadcastReceiver设置wakelock和中activity
做这个:
Window window = this.getWindow();
window.addFlags(LayoutParams.FLAG_DISMISS_KEYGUARD);
window.addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED);
window.addFlags(LayoutParams.FLAG_TURN_SCREEN_ON);
Run Code Online (Sandbox Code Playgroud)
导入以下
import android.view.Window;
import android.view.WindowManager.LayoutParams;
Run Code Online (Sandbox Code Playgroud)
它解决了我的问题,评价它:-)))
由于API 27,FLAG_SHOW_WHEN_LOCKED而FLAG_TURN_SCREEN_ON被弃用。而是在Manifest
<activity
android:name=".MyActivity"
android:turnScreenOn="true"
android:showWhenLocked="true"/>
Run Code Online (Sandbox Code Playgroud)
或者,对于一般用途,在您的活动中:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
setTurnScreenOn(true);
setShowWhenLocked(true);
} else {
Window window = getWindow();
window.addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED);
window.addFlags(LayoutParams.FLAG_TURN_SCREEN_ON);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26177 次 |
| 最近记录: |