启动另一个android应用程序并传递数据

启动另一个android应用程序并传递数据,android,Android,我确实搜索了很多,但是我找不到我的答案。如果有人能帮忙,我将不胜感激 我正在构建一个android应用程序,我可以启动另一个应用程序并传递一些必需的数据吗 示例。 MyApplication启动需要用户名和密码的“另一个应用程序”。 那么,我可以在传递这两个参数的同时启动“另一个应用程序”吗 我无法控制“另一个应用程序”代码。因此,我无法从意图或本文件中读取数据。我甚至不知道应用程序是如何读取这两个参数的(意图/输入值等) 技术上可能吗?如果是,请提供示例代码段以实现此目的。是的,您可以将原始数

我确实搜索了很多,但是我找不到我的答案。如果有人能帮忙,我将不胜感激

我正在构建一个android应用程序,我可以启动另一个应用程序并传递一些必需的数据吗

示例。 MyApplication启动需要用户名和密码的“另一个应用程序”。 那么,我可以在传递这两个参数的同时启动“另一个应用程序”吗

我无法控制“另一个应用程序”代码。因此,我无法从意图或本文件中读取数据。我甚至不知道应用程序是如何读取这两个参数的(意图/输入值等)


技术上可能吗?如果是,请提供示例代码段以实现此目的。

是的,您可以将原始数据、可序列化数据或可分组数据附加到Intent中。请参见

是,这是一个完整的示例

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity implements OnClickListener {
  
  EditText etFName;
  EditText etLName;
  
  Button btnSubmit;
  
  
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        etFName = (EditText) findViewById(R.id.etFName);
        etLName = (EditText) findViewById(R.id.etLName);
        
        btnSubmit = (Button) findViewById(R.id.btnSubmit);
        btnSubmit.setOnClickListener(this);
        
    }


  @Override
  public void onClick(View v) {
    Intent intent = new Intent(this, ViewActivity.class); 
    intent.putExtra("fname", etFName.getText().toString());
    intent.putExtra("lname", etLName.getText().toString());
    startActivity(intent);
  } 
}
这是另一项活动

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class ViewActivity extends Activity {
  
  TextView tvView;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.view);
    
    tvView = (TextView) findViewById(R.id.tvView);
    
    Intent intent = getIntent();
    
    String fName = intent.getStringExtra("fname");
    String lName = intent.getStringExtra("lname");
    
    tvView.setText("Your name is: " + fName + " " + lName);
  }
} 

您可以使用-intent.putExtra(“Key”,“您的数据在此”);类似于在活动之间传递数据的方式。感谢您的快速回答,但我无法控制我将要启动的目标应用程序。所以我无法从Intent.getExtra..()之类的东西中读取数据。如果您无法控制目标应用程序,为什么要传递数据?您能详细说明一下,您真正想要的是什么吗?