確定,所以不能完全肯定這是可能的...Android的 - 如何攔截「安裝應用程序的意圖
但是,試圖寫一個應用程序,以便之前任何下列活動是我可以運行一些代碼執行。
1)APK是從網絡和市場下載啓動安裝程序
2)安裝按鈕被按下的Android市場
上是否有可能攔截並提示這些事件,或已谷歌鎖定的東西下來相當緊張?
確定,所以不能完全肯定這是可能的...Android的 - 如何攔截「安裝應用程序的意圖
但是,試圖寫一個應用程序,以便之前任何下列活動是我可以運行一些代碼執行。
1)APK是從網絡和市場下載啓動安裝程序
2)安裝按鈕被按下的Android市場
上是否有可能攔截並提示這些事件,或已谷歌鎖定的東西下來相當緊張?
這不是一個答案本身,但我在這裏找不到任何評論工具。抱歉。 我也有這個問題。我希望能夠檢測到新的應用程序安裝。我知道這是可能的 - 例如,應用程序到SD的應用程序發佈通知,當你安裝一個新的應用程序,點擊時打開一個對話框,將新的應用程序移動到SD卡。 到目前爲止,我已經能夠計算是這樣的: 的manifest.xml:
...
<receiver android:name=".IntentReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
...
IntentReciever.java:
public class IntentReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
context.startService(new Intent(context, YourService.class));
}
}
YourService然後創建和調用的onCreate(),然後onStartCommand ()。但是,我一直無法調試或成功顯示來自服務類的任何通知,所以我不完全確定這是否有效。我已經得到了這個適用於其他接收器像android.intent.action.BOOT_COMPLETED。
使用BroadcastReceiver可以過濾android.intent.action.PACKAGE_ADDED意圖。但是,這隻會在你描述的兩個行動之後,而不是之前。它不會停止或中斷安裝。
AFAIK之前無法做任何事情或打斷市場。然後我們甚至在談論另一個應用程序,而不是正在安裝的應用程序。
您可以編寫自己的android應用程序自定義安裝程序,請訪問此鏈接https://github.com/android-enhancement/android-alt-installer以獲得進一步說明。
我添加了PACKAGE_REMOVED和標籤。一旦這些都在我的清單中,我的應用程序正確報告任何應用程序安裝或刪除。請參閱:http://groups.google.com/group/android-developers/browse_thread/thread/14589d5e0761c056和http://developer.android.com/guide/appendix/faq/framework.html#7 – prodaea 2010-09-10 15:59:42