从您的MainActivity启动其他应用并返回

时间:2019-01-07 06:29:55

标签: android android-intent android-studio-3.0

想从我的MainActivity中启动Google Map,IMO,Gallery之类的应用程序。启动后,如果用户单击后退按钮,则应在MainActivity中结束。

我已经使用包名称创建了一个Intent并启动了Activity。问题是后退按钮将用户带到手机的屏幕,并完全退出了主应用程序。

public void openMap (View view) {
    Log.i("openMap", "Entered openMap");
    Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.google.android.apps.maps");
    if (launchIntent != null) {
        try {
           // startActivity(launchIntent);
            startActivityForResult(launchIntent,100, Bundle.EMPTY );
            finish();
        } // in case Instagram not installed in your device
        catch (ActivityNotFoundException ex) {
            ex.printStackTrace();
        }
    } else {
        Log.i("openImo", "Intent is null");
    }

 }//startActivityForResult allows onActivityResult
}

后退按钮只是不返回主活动。进入操作系统和电话屏幕。

2 个答案:

答案 0 :(得分:0)

这是因为您正在完成活动。尝试以下代码段。

public void openMap (View view) {
    Log.i("openMap", "Entered openMap");
    Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.google.android.apps.maps");
    if (launchIntent != null) {
        try {
           // startActivity(launchIntent);
            startActivityForResult(launchIntent,100, Bundle.EMPTY );
        } // in case Instagram not installed in your device
        catch (ActivityNotFoundException ex) {
            ex.printStackTrace();
        }
    } else {
        Log.i("openImo", "Intent is null");
    }

 }//startActivityForResult allows onActivityResult
}

答案 1 :(得分:0)

全部修复。 我的其他大多数活动现在都可以正常工作。 有一个IMO应用程序不希望返回到主活动。 按下后退按钮后,它会询问:使用以下命令完成操作: 家居,家居和应用程序抽屉,EasyHome 他们中的任何一个都将我带回手机屏幕。

public void openImo (View view) {
    Log.i("openImo", "Entered openImo");
    Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.imo.android.imous");
    if (launchIntent != null) {
        try {
            startActivity(launchIntent);
        } // in case Instagram not installed in your device
        catch (ActivityNotFoundException ex) {
            ex.printStackTrace();
        }
    } else {
        Log.i("openImo", "Intent is null");
    }
}

我仍然对此有疑问。所有应用程序都返回到主要活动,但IMO!按下返回按钮后,它将进入手机的主屏幕!