我正在制作一个应用程序来启动其他安装在 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/