2013-08-06 46 views
0
final PackageManager pm = context.getPackageManager(); 
    //get a list of installed apps. 
    List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA); 

    for (ApplicationInfo packageInfo : packages) { 
     String packagename = ((String) packageInfo.loadLabel(pm)).replaceAll(" ", "").toLowerCase(); 
     if(packagename.contains(appname)){ 
      say("Opening"+appname); 
      Intent launchIntent = pm.getLaunchIntentForPackage(packageInfo.packageName); 
      Log.v(TAG, ""+launchIntent); 
      context.startActivity(launchIntent); 
     } 

使用此代码,我的应用程序部队在打开消息时只关闭消息。它确实打开了消息应用程序,但强制关闭并抛出空指针异常。有任何想法吗?开通消息应用程序时,App Force关闭

谢谢你们!

+3

Post exception logcat – laalto

回答

0

我怀疑

String packagename = ((String) packageInfo.loadLabel(pm))... 

是不是一个合理的方式来获得软件包名称。

为什么不

public String packageName,这个项目是在包的名称?