2011-12-31 73 views
6

我有一個應用程序安裝在許多設備。如何知道我的應用程序是從設備上卸載的?

如果應用程序從任何設備上卸載,我需要一個指示。

如何實現這一點。

在此先感謝...!

+0

你必須得到指示嗎?在該設備或任何控制/與您的所有設備通信的外部設備?請清楚地問問題。 – 2011-12-31 06:21:03

+0

你的意思是你想要任何警報或吐司消息,說你的應用程序被卸載。對 ? – 2011-12-31 06:22:00

+0

如果是這樣,那麼你已經從設備上卸載它。 – 2011-12-31 06:22:37

回答

5

我的建議將如下。你可以攔截你的應用程序的意圖卸載。簡單地把下面的代碼在你的manifest文件:

<uses-permission android:name="android.permission.INSTALL_PACKAGES" /> 
<uses-permission android:name="android.permission.DELETE_PACKAGES" /> 
<uses-permission android:name="android.permission.CLEAR_APP_CACHE" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" /> 

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" > 
    <activity 
     android:name=".UninstallIntentActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <action android:name="android.intent.action.DELETE" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <data android:scheme="package" android:pathPattern="com.testpack.yourapp" /> 
     </intent-filter> 



    </activity> 

</application> 

此之後,你能以某種方式,你的應用程序將會被刪除處理(例如,您發送電子郵件),並調用包管理器卸載程序。

+0

我需要添加到我的應用程序...? – Noby 2011-12-31 08:46:02

+0

我的主要活動是不同的。如果我放置此代碼,我的啓動器活動將不會在應用程序啓動時啓動...! – Noby 2011-12-31 08:46:52

+0

是的,粗糙的你應該修改代碼。在這裏,我只展示了您需要的權限和意圖過濾器。 – Yury 2011-12-31 09:06:22

2

除非您跟蹤Android市場的統計數據,否則無法確定某人何時卸載您的應用。除非你只有幾次安裝,這可能很難

+0

如果我沒有放置我的應用在市場上......? – Noby 2011-12-31 06:32:21

+0

然後,沒有辦法做到這一點。 – mseo 2011-12-31 06:36:00

+0

我正在尋找相同任務的編程方法。 – Noby 2011-12-31 06:47:33

相關問題