gpt4 book ai didi

android - 当用户在 android 上打开任何应用程序时添加 Activity/fragment

转载 作者:行者123 更新时间:2023-11-29 00:11:41 25 4
gpt4 key购买 nike

我想在用户打开任何应用程序时添加一个特定的 Activity (假设询问密码)。我如何在 Android 中执行此操作?

-例如:假设用户想要打开相机,首先应该将其重定向到密码屏幕,用户将添加密码,如果密码正确,他就可以打开相机。

最佳答案

为此,您需要声明一个后台服务,以在用户打开相机应用程序时捕获事件。后台服务将具有 onReceive() 方法。在该方法中,您可以获得正在运行的应用程序进程的列表,如果相机在前台,则可以匹配该列表。如果相机被用户点击,它会出现在正在运行的应用程序列表中。然后拦截该事件并显示您打算向用户显示的对话框 fragment 。

您可以实现自定义 DialogFragment 类,该类具有用于询问用户密码的必填字段。

在自定义对话框类中声明一个接口(interface),如下所示:

public interface CustomAddressDialogListener{
public void onDialogPositiveClick(DialogFragment dialog, String enteredPassword);
public void onDialogNegativeClick(DialogFragment dialog);
}

自定义 DialogFragment 将有自己的密码输入布局,您可以设置积极行动和消极行动。

积极行动:用户输入密码并点击提交。

消极行为:用户不想输入密码,点击取消。

您的父 Activity 可以实现此接口(interface)以捕获正面和负面点击。

@Override
public void onDialogPositiveClick(DialogFragment dialog, String enteredPassword) {
// Here you can check if the password is correct or wrong and take the action accordingly to open the camera.
}

在处理负面操作时,您可以使用 kill the camera process 来终止相机进程:android.os.Process.sendSignal(pid, android.os.Process.SIGNAL_KILL);这里的 pid 是相机应用程序的进程 ID。获取正在运行的应用进程信息,即可获取pid。

详情可引用:http://developer.android.com/reference/android/app/DialogFragment.html

关于android - 当用户在 android 上打开任何应用程序时添加 Activity/fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29739373/

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