屏蔽recent按鍵:android
<uses-permission android:name="android.permission.REORDER_TASKS" />
@Override protected void onPause() { super.onPause(); ActivityManager activityManager = (ActivityManager) getApplicationContext() .getSystemService(Context.ACTIVITY_SERVICE); activityManager.moveTaskToFront(getTaskId(), 0); }
開機自啓動:app
/**
* Created by Zzm_Pc on 2017/3/28.
*/
public class BootBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("selftoactive", intent.getAction());
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
Log.i("selftoactive", intent.getAction());
Toast.makeText(context, "開機自啓動!!!", Toast.LENGTH_SHORT).show();
Intent intent1 = new Intent(context, FirstActivity.class);
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//這個是重點,沒有設置這個,app不會啓 動,並且開機後有延遲幾秒纔會收到,開 機發送過來的信號
context.startActivity(intent1);
}
}
}
<receiver android:name="com.lgkj.meicqt.utils.BootBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver>
Home按鍵,Recent按鍵的監聽能夠用廣播:Recent按鍵相似ide
/** * Created by Zzm_Pc on 2017/3/28. */ public class HomeKeyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Log.i("homekey1", action); if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action)) { Log.i("homekey1", action); String reason = intent.getStringExtra("reason"); Log.i("homekey1", reason); if ("homekey".equals(reason)) { //按下home鍵時的狀況下 //do nothing just 攔截事件 Log.i("homekey1", "do nothing else xixi~~"); } } } }