我有一个Android应用程序,我想在我的应用程序中启动另一个应用程序。我知道我可以通过以下程序获得意图并运行所需的应用程序:
Intent intent = getPackageManager().getLaunchIntentForPackage("pacage_name");
startActivity(intent);
但我们如何能够包含一个参数,例如一个文件名,哪个应用可以打开并对其进行操作。
假设我们不知道应用程序活动的结构。它可以是任何标准的Android应用程序(如图库)。我们知道它可以获得一个参数并对其进行操作。
一般来说,android系统如何启动应用程序并传递一个文件名来对其进行操作?
答案 0 :(得分:0)
您可以使用intent.putExtra
将任何类型的信息传递给其他活动。
例如在您的示例中,我们可以执行此操作:
String yourInformation = "SomeInformation";
Intent intent = getPackageManager().getLaunchIntentForPackage("pacage_name");
intent.putExtra("MY_INTENT_TAG", yourInformation);
startActivity(intent);
在您要去的Activity
(即用户最终会在哪里),您可以这样做:
Bundle extras = getIntent().getExtras();
String receivedInfo = extras.getString("MY_INTENT_TAG");
答案 1 :(得分:0)
我找到了一些如何做到这一点:
Intent viewDoc = new Intent(Intent.ACTION_VIEW);
viewDoc.setDataAndType(Uri.fromFile(new File("file_path")),"mimeType");
viewDoc.setComponent(new ComponentName("com.package.name","com.package.name.DesiredActivity"));
startActivity(viewDoc);