2013-11-15 23 views
1

我需要編寫Android應用程序(讓我們稱之爲App1),建議用戶安裝另一個Android應用程序(讓我們稱之爲App2)。如果用戶同意安裝App2,則需要App1在App2成功安裝後立即執行一些操作。組織這個過程的最佳方式是什麼?我在考慮定期檢查是否安裝了App2,但我認爲這不是最聰明的方法。安裝應用程序後如何做一些操作?

+0

@Torben:誰也沒說過要服務什麼 – gunar

回答

2

您可以使用BroadcastReceiver檢測是否安裝了應用程序。

在的onCreate:

BroadcastReceiver appInstalledReceiver = new BroadcastReceiver() { 
@Override 
public void onReceive(Context context, Intent intent) { 
    String action = intent.getAction(); 
    if (Intent.ACTION_PACKAGE_ADDED.equals(action)) { 
     Uri data = intent.getData(); 
     String packageName = data.getEncodedSchemeSpecificPart(); 
     // check if packageName is App2 
     } 
    }   
}; 

然後在某處的onResume:

IntentFilter intentFilter = new IntentFilter(); 
intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED); 
intentFilter.addAction(Intent.ACTION_PACKAGE_INSTALL); 
intentFilter.addDataScheme("package"); 
registerReceiver(appInstalledReceiver, intentFilter); 
+0

也許登記清單中的接收器? – gunar

+0

你也可以這樣做。這是任何方式,而不是兩個。 – josephus

相關問題