gpt4 book ai didi

android - 如何在应用程序级别调用 Intent.ACTION_CLOSE_SYSTEM_DIALOGS

转载 作者:行者123 更新时间:2023-11-30 03:03:30 35 4
gpt4 key购买 nike

我试图在用户点击电源按钮时显示我的菜单。我正在使用此代码来禁用系统电源按钮微调菜单,但我不想在每个 Activity 上都编写此代码。如何调用此服务以在应用程序级别禁用系统对话框?

@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);

Log.d("Focus debug", "Focus changed !");

if (!hasFocus) {
Log.d("Focus debug", "Lost focus !");

Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
sendBroadcast(closeDialog);
}
}

/* I don't want to write above code on each activity */

import android.widget.Toast;

public class CloseSystemDialogsIntentReceiver extends BroadcastReceiver {

public void onReceive(final Context context, final Intent intent) {
// Log.i("HERE", "------------------------------------HERE");
// Toast.makeText(context, "OFFFFFFFFFFFFFFFF",Toast.LENGTH_LONG).show();
}
}

<receiver
android:name="com.eurosoft.cabtreasure.receiver.CloseSystemDialogsIntentReceiver">
<intent-filter>
<action android:name="android.intent.action.CLOSE_SYSTEM_DIALOGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>

最佳答案

您可以创建一个新的 Activity(例如称它为 BaseActivity),它会覆盖 onWindowFocusChanged 方法。

然后您可以使所有其他需要此 onWindowFocusChanged 的 Activity 扩展 BaseActivity,您无需将此方法复制粘贴到所有 Activity

关于android - 如何在应用程序级别调用 Intent.ACTION_CLOSE_SYSTEM_DIALOGS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22193370/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com