0
我需要知道幾個默認Android應用程序的規範名稱,例如電子郵件,聯繫人&等。我希望能夠使用他們的規範名稱來啓動它們。如何獲得Android中deafult應用程序包的規範名稱
像
Intent i = new Intent("com.pacakge.canonicalname");
因此,任何想法,我能得到的默認Android應用規範包名稱的列表?
感謝
我需要知道幾個默認Android應用程序的規範名稱,例如電子郵件,聯繫人&等。我希望能夠使用他們的規範名稱來啓動它們。如何獲得Android中deafult應用程序包的規範名稱
像
Intent i = new Intent("com.pacakge.canonicalname");
因此,任何想法,我能得到的默認Android應用規範包名稱的列表?
感謝
有一個在PackageManager類稱爲currentToCanonicalPackageNames(字符串[]名稱),我懷疑可能被用來做什麼你問的方法。因此,像:
String[] names = {"Email","Contacts"};
try{
String[] canonicalNames = context.getPackageManager().currentToCanonicalPackageNames(names);
//do whatever you want with canonicalNames, e.g. launch the email app,
Intent email = context.getPackageManager().getLaunchIntentForPackage(canonicalNames[0]);
context.startActivity(email);
}catch(NameNotFoundException e){
Log.d("MY ACTIVITY NAME", "Package name(s) not found.");
}
我尋找到做這樣的自己的事情,但沒試過這個代碼,所以請謹慎使用。
編輯: 所以今天晚上試了一下,解決方案可能不是你要找的。假設您只從這些應用程序的顯示名稱開始(技術上稱爲應用程序標籤),則您可能必須實際瀏覽設備上安裝的所有應用程序,以查找該應用程序標籤。我只是將我的解決方案發布到我的博客,所以take a look。