我正在制作一个应用程序来启动其他在 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、纬度...)