[英]how can i recall a hidden app from phone dialer?
我的最终项目要求必须隐藏该应用程序,除非在电话拨号器中输入一些代码(例如:*123#),否则永远不要再打开它,你能帮我完成这项任务吗?
这有点棘手,它有起有落,但您需要做的基本上是:
PROCESS_OUTGOING_CALLS
意图过滤器(不要忘记设置uses-permissions
)。要以编程方式禁用图标,请使用:
PackageManager packageManager = getPackageManager();
ComponentName componentName = new ComponentName(this, MainActivity.class);
packageManager.setComponentEnabledSetting(
componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP
);
要启用它:
PackageManager packageManager = context.getPackageManager();
ComponentName componentName = new ComponentName(context, MainActivity.class);
packageManager.setComponentEnabledSetting(
componentName,PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP
);
在您的接收器中获取您需要使用的拨号号码:
if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
// Validate and start your activity here
// To start an activity from a receiver you need to use the flag FLAG_ACTIVITY_NEW_TASK in your intent
}
注意:以编程方式隐藏图标后,您可能希望finish()
活动,以便在第一次运行时自动关闭。
PS我有一个工作样本,所以请放心,因为我已经测试过它确实有效,遗憾的是我不能在你的最终项目中用勺子喂你。 不要犹豫,问任何事情。 祝你好运
Android 中没有这样的功能。 您也许可以使用自定义主屏幕来执行此操作,但默认启动器中没有“隐藏此应用程序”功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.