我是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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)