CyanogenMod/Lineage OS 具有通过双击状态栏来转动屏幕的功能。它只是关闭屏幕,而不是锁定设备。据我所知,这对于普通应用程序是不可能的。应用商店中的应用程序通过锁定设备来关闭设备。我浏览了 Lineage OS 的源代码,如果我理解正确的话,它似乎使用PowerManager.goToSleep()
.
我想创建一个应用程序来关闭屏幕,供我个人在运行 Lineage OS 的设备上使用。因为它是 Lineage OS,而不是普通的 ROM,所以我可以做更多的事情,比如获得 root 访问权限或刷机。
但是根据这个问题,第三方应用程序无法访问该方法。我创建了一个简单的项目并调用了该方法,但是当我尝试构建项目时,发生了“错误:找不到符号方法 goToSleep(int)”。
我可以使用 Android Studio 和官方 SDK 创建一个调用该方法的应用程序吗?如果没有,我该如何构建调用该方法的应用程序?
根据要求添加了代码:
public class MainActivity extends AppCompatActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
pm.goToSleep(100);
}
}
显现:
<manifest package="com.example.turnofftest"
xmlns:android="http://schemas.android.com/apk/res/android">
....
<uses-permission android:name="android.permissions.DEVICE_POWER" />
</manifest>
在阅读了“ApriOri”告诉的问题后,我知道我必须使用平台的证书签署应用程序,我可能可以这样做,因为 Lineage OS 是开源的。但首先,我需要构建它。