"电源键长按"(globalscreen)
"Home键"(homekey)
"Home长按"(recentapps)
我们可以使用广播来实现,如:
[java] view plain copy print ?
-
package com.jumpinus.test;
-
import android.app.Activity;
-
import android.content.BroadcastReceiver;
-
import android.content.Context;
-
import android.content.Intent;
-
import android.content.IntentFilter;
-
import android.os.Bundle;
-
public class MainActivity extends Activity {
-
private MyBroadCastReceiver myBroadCastReceiver;
-
@Override
-
protected void onCreate(Bundle savedInstanceState) {
-
// TODO Auto-generated method stub
-
super.onCreate(savedInstanceState);
-
myBroadCastReceiver = new MyBroadCastReceiver();
-
}
-
@Override
-
protected void onResume() {
-
// TODO Auto-generated method stub
-
super.onResume();
-
IntentFilter intentFilter = new IntentFilter();
-
intentFilter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
-
System.out.println("I'm coming, myBroadCastReceiver注册了!");
-
registerReceiver(myBroadCastReceiver, intentFilter);
-
}
-
private class MyBroadCastReceiver extends BroadcastReceiver{
-
@Override
-
public void onReceive(Context context, Intent intent) {
-
//你自己先把 reasons == homekey 和 长按homekey 排除,剩下的做下面的处理
-
String reason = intent.getStringExtra("reason");
-
if (intent.getAction().equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)){
-
System.out.println("Intent.ACTION_CLOSE_SYSTEM_DIALOGS : " + intent.getStringExtra("reason"));
-
if (intent.getExtras()!=null && intent.getExtras().getBoolean("myReason")){
-
myBroadCastReceiver.abortBroadcast();
-
}else if (reason != null){
-
if (reason.equalsIgnoreCase("globalactions")){
-
//屏蔽电源长按键的方法:
-
Intent myIntent = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
-
myIntent.putExtra("myReason", true);
-
context.sendOrderedBroadcast(myIntent, null);
-
System.out.println("电源 键被长按");
-
}else if (reason.equalsIgnoreCase("homekey")){
-
//屏蔽Home键的方法
-
//在这里做一些你自己想要的操作,比如重新打开自己的锁屏程序界面,这样子就不会消失了
-
System.out.println("Home 键被触发");
最后
小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
资料⬅专栏获取
链图片转存中...(img-7gRaGo11-1719082043497)]一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
资料⬅专栏获取