2013-03-22 42 views
0

我可能有一個微不足道的問題,但我無法解決。 如果我運行這段代碼:Android:當使用startActivity(意圖)代碼執行其他

Uri packageURI = Uri.parse("package:"+name); 
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI); 
startActivity(uninstallIntent); 
boolean esiste = isPackageExists(name); 
Log.i("Esiste", "Esiste il packeges? : "+esiste); 
if (!esiste) { //code } 

一切都很好,但在執行星活性(),代碼啓動應用程序,還進行檢查... 我想執行檢查時返回myapplication ...幫我

+1

使用startActivityForResult(),然後在返回時調用onActivityResult()。 – 2013-03-22 09:48:19

回答

0

由於每個應用程序都在其自己的線程中運行,因此您的應用程序在調用刪除操作後繼續。

你可以做檢查被叫acitivty關閉後,像這樣:
更改startActivity(uninstallIntent);startActivityForResult(uninstallIntent, 1);

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     if (requestCode == 1){ 
      boolean esiste = isPackageExists(name); 
      Log.i("Esiste", "Esiste il packeges? : "+esiste); 
      if (!esiste) { //code } 
     } 
    } 

如果通過startActivityForResult方法onActivityResult調用的意圖從所謂的活動回國後會被調用。變量requestCode用於識別請求。

+0

Thaks Thommy這是OK! :) – user2198593 2013-03-22 18:19:43