2017-07-18 64 views
1

重新開始我想從另一個應用程序中打開我的應用程序有一些數據傳遞給我的應用程序。 如果我的應用程序沒有在後臺運行,並且如果它被其他應用程序打開,那麼我能夠收到其他應用程序將傳遞的數據。 我想要獲取數據以接收onResume()函數MainActivity但它不起作用。我寫到發送按鈕的點擊數據 代碼是:我的應用程序是無法接收的數據如果是在後臺,如果應用程序是由任何其他應用程序在Android中

PackageManager pmn = getPackageManager(); 
Intent intent = pmn.getLaunchIntentForPackage("com.myAppPackage");   
String some_str = "Hello World"; 
intent.putExtra("some_str", some_str); 
startActivity(intent); 

我在的onResume代碼:

@Override 
     public void onResume() { 
      // TODO Auto-generated method stub 
      super.onResume(); 
      Bundle bundle = getIntent().getExtras(); 
      String str = null; 
      if(bundle != null && bundle.getString("some_str") != null){ 
       str = bundle.getString("some_str"); 
      } 
      Toast.makeText(getApplicationContext(), "some_str :: "+str , Toast.LENGTH_SHORT).show(); 
     } 

但它顯示在Toastnull值。

+0

確保找你傳遞的關鍵'爲您檢索some_str'相同。 – Piyush

+0

@Piyush,請檢查我編輯的問題還包含代碼,將some_str傳遞給我的應用程序 –

+0

嘗試獲取數據in'onNewIntent(Intent intent)'方法,它是覆蓋方法,您可以在您的活動中使用而不是在'onResume中檢索數據()'方法。 – Piyush

回答

0

你可以隨便寫的onResume

if(bundle != null && bundle.getString("some_str") != null){ 
     String some_str = bundle.getString("some_str"); 
     //str= this.getIntent().getExtras().getString("some_str"); 


    Toast.makeText(getApplicationContext(), "some_str :: "+some_str , Toast.LENGTH_SHORT).show(); 
} 
+0

在上面的代碼中,如何在我的問題中看到我寫入的代碼bundle是Bundle bundle = getIntent()。getExtras(); –

+0

它正在爲me..like String buttnd = bundle.getString(「some_str」); –

+0

你可以看到編輯後的代碼......這對我有用 –

相關問題