我使用以下代码启动应用程序:
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。
我不明白为什么。
答案 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;
}
}