我試圖實現一個類似於MinimalisticText功能的應用程序,它可以在單擊一個小部件時啓動特定的活動。我正在製作一個應用程序,可以在設備上選擇任何應用程序,然後從中選擇任何應用程序並按下按鈕啓動它。不過,我已經找到了一個ActivityNotFoundException的路由塊,因爲沒有在我的清單中聲明所述的活動。Android - 啓動沒有清單聲明的活動
我的所有研究都表明這是不可能的;然而,Minimalistic Text等應用程序在某種程度上能夠實現該功能。什麼是我從我的應用程序缺少能夠啓動意圖:
下面是我如何啓動活動相關的代碼片段:
private Intent getLaunchIntent(ActivityInfo ainfo) {
Intent launch = new Intent(ctx, ainfo.getClass());
launch.addCategory(Intent.CATEGORY_LAUNCHER);
if(DBG) { Log.i(TAG, "Got launch intent:" + launch.toString()); }
return launch;
}
編輯:解決了!對於任何人只要看到怎麼辦我在做什麼,請看這裏:
Open another application from your own (intent)
我認爲CTX的問題是你的上下文嗎?如果是的話,你試圖從你的上下文中獲取包信息,而不是相關活動的包信息。也ainfo.getClass()將返回ActivityInfo.class – JRaymond 2012-07-16 15:29:02
好吧,所以這兩個都是一個問題。我將嘗試使用PackageInfo來獲取該包自己的上下文以及該活動自己的類來構造該意圖。 – alextoombs 2012-07-16 17:31:49