Android Intent为null

时间:2015-11-05 15:18:37

标签: android android-intent

我使用以下代码启动应用程序:

Intent hasApp = getPackageManager().getLaunchIntentForPackage("appName.app");
Intent intent = new Intent(Intent.ACTION_VIEW);
dataId = response.getdataId();
intent.setData(Uri.parse("appName:?pid=" + dataId + "&action=returntoapp"));
startActivityForResult(intent, Globals.DATA_REQUEST_CODE);

我用这段代码关闭打开的应用程序:

setResult(Activity.RESULT_OK);
finish();

但是当第一个应用程序调用onActivityResult()方法时,我获得了相同的requestCode,但intent为null,而resultCode为ACTIVITY_CANCELED。

我不明白为什么。

1 个答案:

答案 0 :(得分:0)

试试这个

String packageName = "com.example.app"

public static boolean openApp(Context context, String packageName) {
        PackageManager manager = context.getPackageManager();
        try {
            Intent i = manager.getLaunchIntentForPackage(packageName);
            if (i == null) {
                return false;

            }
            i.addCategory(Intent.CATEGORY_LAUNCHER);
            context.startActivity(i);
            return true;
        } catch (Exception e) {
            return false;
        }
    }