java– 在Android中处理命令而不启动MainActivity

java– 在Android中处理命令而不启动MainActivity,第1张

概述我是android的新手,并且在我的新屏幕关闭测试应用程序中停留在一点.我正在尝试开发一个Android应用程序,通过单击应用程序的应用程序启动器图标来直接关闭或锁定屏幕.我可以使用我想要的功能锁定屏幕,但有一个问题.当我点击启动器中的屏幕锁定图标时,它需要大约一秒钟,然后锁定屏

我是android的新手,并且在我的新屏幕关闭测试应用程序中停留在一点.我正在尝试开发一个Android应用程序,通过单击应用程序的应用程序启动器图标来直接关闭或锁定屏幕.

我可以使用我想要的功能锁定屏幕,但有一个问题.当我点击启动器中的屏幕锁定图标时,它需要大约一秒钟,然后锁定屏幕(时间由MainActivity启动).

我想要删除时间延迟,只是想在用户点击启动器中的应用程序图标时处理锁定手机的命令.但我无法弄明白.

这是AndroIDManifest.xml

<application    androID:theme="@androID:style/theme.Nodisplay"    androID:label="@string/app_name"    androID:icon="@drawable/ic_launcher"    androID:allowBackup="true">    <activity androID:name=".MainActivity"        androID:excludeFromrecents="true"        androID:launchMode="singleTask">        <intent-filter>            <action androID:name="androID.intent.action.MAIN" />            <category androID:name="androID.intent.category.LAUNCHER" />        </intent-filter>    </activity>    <receiver androID:name="ScreenOffadminReceiver"        androID:permission="androID.permission.BIND_DEVICE_admin">        <Meta-data androID:name="androID.app.device_admin"            androID:resource="@xml/permissions" />        <intent-filter>            <action androID:name="androID.app.action.DEVICE_admin_ENABLED" />        </intent-filter>    </receiver></application>

MainActivity.java

public class MainActivity extends Activity {    protected voID onCreate(Bundle bundle) {        super.onCreate(bundle);        DevicePolicyManager devicemanger = (DevicePolicyManager) getSystemService(Context.DEVICE_POliCY_SERVICE);        Componentname compname = new Componentname(this, ScreenOffadminReceiver.class);        if (devicemanger.isadminActive(compname)) {            devicemanger.lockNow();            finish();        } else {            Intent intent = new Intent("androID.app.action.ADD_DEVICE_admin");            intent.putExtra("androID.app.extra.DEVICE_admin", compname);            intent.putExtra("androID.app.extra.ADD_EXPLANATION", getString(R.string.devicePolicyManagerMsg));            startActivityForResult(intent, 0);        }        Process.killProcess(Process.myPID());    }}

ScreenOffadminReceiver.java

public class ScreenOffadminReceiver extends DeviceadminReceiver {    public voID onDisabled(Context context, Intent intent) {        Toast.makeText(context, R.string.deviceadminDisabled, Toast.LENGTH_SHORT).show();    }    public voID onEnabled(Context context, Intent intent) {        Toast.makeText(context, R.string.deviceadminEnabled, Toast.LENGTH_SHORT).show();    }}

permissions.xml

<?xml version="1.0" enCoding="utf-8"?><device-admin xmlns:androID="http://schemas.androID.com/apk/res/androID">    <uses-policIEs>        <force-lock />    </uses-policIEs></device-admin>

我只想在锁定屏幕时删除DELAY.任何帮助将受到高度赞赏.谢谢

解决方法:

我认为你应该使用Application Class

public class MainApplication  extends Application { @OverrIDe    public voID onCreate() {        super.onCreate();/*        you should code here */}}
总结

以上是内存溢出为你收集整理的java – 在Android中处理命令而不启动MainActivity全部内容,希望文章能够帮你解决java – 在Android中处理命令而不启动MainActivity所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1111404.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存