2016-12-16 57 views
1

如何傳遞字符串值從一個應用程序到另一個應用程序在Android中

這是我的應用程序A和有一個字符串值「你好」。我想這個字符串值發送到應用程序B.

String mystring = "Hello"; 
Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.example.test"); 
if (launchIntent != null) { 
    launchIntent.putExtra("success", mystring); 
    startActivity(launchIntent); 
} 

這是我的應用B

Bundle b = getIntent().getExtras(); 
if (b != null) { 
    String myString = b.getString("success"); 
    Toast.makeText(MainActivity.this, "" + myString, Toast.LENGTH_SHORT).show(); 
} 

在接收 「應用程序B」 myString被接收爲null

+3

的可能的複製[如何從一個應用程序在Android的其他應用程序發送數據?](http://stackoverflow.com/questions/14355860/how-to-send-data - 從一個應用程序到其他應用程序在Android) – samiles

+0

直接,你不能從應用程序到另一個數據。 如果你想從一個應用程序發送一些數據到另一個,那麼你可以使用內容提供商。 https://developer.android.com/guide/topics/providers/content-providers.html – ViramP

+0

也相關。 http://stackoverflow.com/questions/5745243/data-sharing-between-two-applications –

回答

2

在應用B的清單,

你需要聲明一個意圖過濾器與DEFAULT類別和Action = com.your_app_package_name.your_app_name.ActivtiyAlpha

然後,你需要設置actionIntent開始爲應用程序A中活動並意圖發送額外的數據。

Intent i = new Intent("com.your_app_package_name.your_app_name.ActivtiyAlpha"); 
i.putExtra("KEY_DATA_EXTRA_FROM_ACTV_B", myString); 
// add extras to any other data you want to send to b 
launchIntent.putExtra("success",mystring); 
startActivity(launchIntent); 

結帳detailed Answer here

相關問題