[英]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.