2012-06-15 114 views
0

這是我的第一個問題 我已經搜索了任何啓動活動問題,但都沒有爲我工作(android 4.0.4),但適用於其他人。啓動任何已安裝的活動

我已經在手機中安裝的每個活動的列表,但我不能啓動這些

ComponentName cm= new ComponentName("com.sonyericsson.extras.liveview","com.sonyericsson.extras.liveview.LAUNCH"); 
intent.setComponent(cm); 
startActivity(intent); 

代碼失敗對我來說「無法找到明確的活動......」,常量字符串可能會有所不同取決於選擇,任何方式都不起作用,其他解決方案在這裏也找不到。 Logcat說,也許我沒有在manifest.xml中聲明活動,但我當然沒有,我想像ADW啓動器那樣啓動任何活動,也嘗試使用ADW源代碼但沒有工作。 在此先感謝

+0

如果您的代碼在索尼愛立信手機上運行,​​但如果您嘗試在摩托羅拉或HTC手機上運行它,則可能會看到調用該程序包的問題。 – Sana

+0

謝謝莎拉,但現在字符串是恆定的,但它必須改變,以任何方式它不工作在我的SE手機,活動安裝 – aguilar8325

+0

因此,讓我們說當你打開活動LAUNCH是否有包作爲com。 sonyericsson.extras.liveview – Sana

回答

0

嘗試

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setClassName("com.sonyericsson.extras.liveview", "com.sonyericsson.extras.liveview.LAUNCH"); 
startActivity(intent); 

相信包的名稱是確定的,但活動名稱爲全大寫傷害了我:|,但嘗試並讓我知道它是否適合你。

+0

非常感謝!這是我做到的: 'Intent intent = new Intent(Intent.ACTION_VIEW); intent.setClassName(activinfos.get(position).packageName,activinfos.get(position).name); startActivity(intent);' – aguilar8325

1

嘗試使用這個代替

String app = "com.sonyericsson.extras/liveview"; 
Intent intent = new Intent(Intent.ACTION_MAIN);    
intent.setComponent(ComponentName.unflattenFromString(app));    
intent.addCategory(Intent.CATEGORY_LAUNCHER);    
startActivity(intent); 
+0

沒有運氣,logcat:android.content.ActivityNotFoundExceptio:無法找到顯式類{com.sonyericsson.extras/liveview};你有沒有在你的AndroidManifest.xml中聲明活動? 我的清單沒有它,因爲它會有所不同,在將來的使用中,我只會使用來自所有已安裝活動的向量的ActivityInfo,因此我將從此處獲取活動和打包字符串。我知道這是可能的,因爲每個家庭或啓動器應用程序都這樣做。 ADW代碼似乎很複雜 – aguilar8325

相關問題