2013-01-25 63 views
2

我有一個應用程序A,啓動安裝應用程序B(它出現在應用程序A的數據文件夾中)的意圖。Android如何防止手動安裝Android應用程序

一旦安裝了應用程序B,像ASTRO這樣的文件管理器就可以備份應用程序B的apk文件。

所以我想阻止用戶手動安裝它(比如說,如果他點擊應用程序B的備份apk文件,它不應該安裝)。

有沒有辦法禁用手動安裝...?

回答

0

你能找到備份的位置並刪除apk。

如果APk可用於文件管理器,那麼它可以打開它並安裝它,我不知道有任何方法可以阻止它作爲您的應用程序範圍。

0

這在AOSP Android上不可行。

來自未知來源的安裝選項是Settings.Global(之前爲Settings.Secure)中的設置,不能由第三方應用程序控制。

但是,如果您願意爲每個想要使用此設備的設備修改和編譯Android本身,則可以做到這一點,就像在某些設備上執行AT & T.

您可以做的最好的方法就是嘗試查找備份文件,如果您有權訪問該部分存儲,請將其刪除。

1

但有兩種方法來監視app.one是,你可以使用文件觀察員

監控應用程序。每當應用程序被採取作爲備份做東西,以防止它。另一種方式是

例如:如果它存儲在sdcard \ am \使用像這樣。

File f=new File("\mnt\sdcard\am\abc.apk");// file location of your app 
    { 
     if(f.exists) 
     { 
      f.delete(); 
     } 
    } 

對於File Observer,瀏覽一下這個,它可以幫助你。

http://developer.android.com/reference/android/os/FileObserver.html

+0

我不能說這是不可能的。因爲幾個月前,我嘗試通過使用幾個android應用程序(Astro,ESfilexplorer和android mate)爲應用程序備份。它說備份不可能。可能是文件觀察者可能使用過或在其中使用過的東西,或者也可能使用一些其他硬編碼使用proguard。 – Shadow

0

不知道它是可行的,但我會解決這個具有應用A吐出安裝在具有手動輸入(如兩步驗證)應用B代碼,然後驗證它服務器端。這樣,你提到的流氓安裝將變得毫無用處。也許你可以彈出一個錯誤給用戶,告知他們這個。

相關問題