编程语言
首页 > 编程语言> > java-如何知道可从另一个Android应用程序读取的参数

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

作者:互联网

我正在创建一个应用程序,以启动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();
}

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

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

解决方法:

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

标签:android-intent,parameter-passing,java,android
来源: https://codeday.me/bug/20191201/2081241.html