打开消息传递应用时,App force会关闭

时间:2013-08-06 07:51:29

标签: android start-activity

    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);
        }

使用此代码,我的应用程序强制在打开消息传递时关闭,并且仅关闭消息传递。它确实打开了消息传递应用程序,但强制关闭并抛出空指针异常。有什么想法吗?

谢谢你们!

1 个答案:

答案 0 :(得分:0)

我怀疑

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

不是获取包名称的合理方式。

为什么不

public String packageName 此项目所在的软件包的名称