我怎样才能将数据(文本)发送到其他应用程序(如消息)

时间:2013-04-14 14:39:27

标签: java android eclipse android-intent sdk

如何制作一个程序,输入一个字符串并按一个键后,该字符串存储在手机中(SharedPreferences),然后如果我打开程序发送短信(消息),3秒后写入消息EditText之前存储的字符串。

到目前为止,我已经做到了这一点:

@Override 
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);  

  EditText stringinput = (EditText) findViewById(R.id.string);
  Button bu = (Button) findViewById(R.id.button1);
  stringinput.setImeOptions(EditorInfo.IME_ACTION_DONE); 
  bu.setOnClickListener(this);
}

@Override  
public void onClick(View v) {  
  EditText stringinput = (EditText) findViewById(R.id.string);
  String name = stringinput.getText().toString();   
  if(v.getId()==(R.id.string)){  
  SavePreferences("STRING",name);  
  }
}  

private void SavePreferences(String key, String value){  
  SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);  
  SharedPreferences.Editor editor = sharedPreferences.edit();  
  editor.putString(key, value);  
  editor.commit();  
 }  

private void LoadPreference(){         
      SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);           
      String strSavedMem1 = sharedPreferences.getString("STRING", ""); 
     /******************** stringoutput.append(strSavedMem1);*******************/
      }
}

好的我现在不知道怎么前进--->我认为最难的工作是在这个函数LoadPreferences(); ,也许我应该建立一个隐含的意图

Intent SEND = new Intent(Intent.ACTION_SEND);

我不知道,请帮助我

1 个答案:

答案 0 :(得分:0)

如果你试图向在android中运行的其他应用程序发送消息,或者为它们留言,我会在android服务教程的单独进程中检查运行服务:http://www.vogella.com/articles/AndroidServices/article.html 您可以让服务跟踪您传递的字符串,并让其他应用程序绑定到服务以使其恢复。

否则,如果您只想将字符串保存到文件中,属性文件就可以了。如果其他应用程序需要能够读取文件,请将其保存到外部存储。这是一个很好的教程,如何在主要的Android网站上工作:http://developer.android.com/guide/topics/data/data-storage.html

编辑:如果你没有使用共享首选项在应用程序之间共享字符串,那么另一个堆栈溢出用户在其上发布了一个tuturial:How can I share a SharedPreferences file across two different android apps?