java - 如何知道从另一个android应用程序可读的可能参数

标签 java android android-intent parameter-passing

我正在制作一个应用程序来启动其他安装在 Android 智能手机上的应用程序。

基本上,这是我用来启动我自己制作的另一个应用程序的代码,带有一个参数。

应用程序 1:

PackageManager pm = getApplicationContext().getPackageManager();
Intent appStartIntent = pm.getLaunchIntentForPackage(mypackage);
    appStartIntent.putExtra("message", s);

    if (null != appStartIntent) {
        getApplicationContext().startActivity(appStartIntent);
    }

在我的其他应用程序中,这里是我如何获取参数的:

应用 2:

 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Bundle extras = getIntent().getExtras(); 
    String result;
    try {
        result= (String) extras.getString("message");
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        recup = "nothing received";
    }

    Toast.makeText(getApplicationContext(), recup, Toast.LENGTH_SHORT).show();
}

这里的问题是,我们需要知道第二个应用程序可以接收一个名为“消息”的参数。

这里是问题: 是否可以从应用程序 1 中获知应用程序 2 期望的所有可能参数? 如果是,是否有可能知道我手机上安装的任何应用程序接受的参数? (例如:Handcent、Facebook、纬度...)

最佳答案

Android 没有定义允许您检索应用程序期望的参数的元数据 API。因此,不可能做你想做的事。您将不得不依赖每个应用程序的文档。

关于java - 如何知道从另一个android应用程序可读的可能参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10088503/

相关文章:

java - 使用 Android DataBinding 时强制点 (“.” ) 作为小数点分隔符

java - 在 Java 中使用枚举来表示 ResourceBundle 中的键

Android:从 fragment 页面加载 Activity 或 Intent

android - Recycler view items 占用其宽度并可以继续新行

java - 我应该使用什么布局来使其适用于 Java?

android - 无法执行 dex : Multiple dex files define Lcom/facebook/android/AsyncFacebookRunner$1;

java - 基本 Activity 开始

android - 具有多个过滤器或多个广播接收器的广播接收器?

android - 如何检测电话何时被接听或被拒绝

java - 为什么相同的代码在oracle存储的java过程中会比在常规java中慢?