2016-02-10 229 views
-2

我想在應用程序啓動時根據條件禁用某個活動,並且希望再次重新啓用它。Android:以編程方式禁用和啓用活動在android中不起作用

getPackageManager().setComponentEnabledSetting(new ComponentName(activityInfo 
.packageName,activityInfo.name),PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 
PackageManager.DONT_KILL_APP); 

然後用戶完成驗證後,我試圖通過使用下面的代碼從另一個活動,使的活動一次。

getPackageManager().setComponentEnabledSetting(new ComponentName(activityInfo 
.packageName, activityInfo.name), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 
PackageManager.DONT_KILL_APP); 

但是,這是行不通的。該應用程序不會在重新啓用活動時拋出任何錯誤。它抱怨說沒有活動可當我嘗試通過其意圖過濾器使用活動

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=xxx.xxx.phone.action.INCALL flg=0x30000000 pkg=com.freemobile (has extras) } 
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1872) 

回答

1

我不知道我理解你想什麼,在這裏完成,而應你的目標是打開基於活動有些情況下,我寧願從另一項活動中進行設置邏輯。

說你的應用程序打開活動A,它檢查你有的任何條件,如果符合,將啓動活動B.

如果我誤解了你的目標,請更具體一些。

+0

我正在嘗試攔截爲已經在開源應用程序中定義的活動定義的意圖過濾器。我想爲這個意圖添加我的用戶界面,並進行驗證,當我完成我想重新啓用默認活動 – vumaasha

相關問題