2011-12-12 48 views
6

我已經從android市場下載了一個應用程序。我只需輸入一個數字,然後點擊輸入,該應用就會生成一個包含一些內容的表格。是否有可能從android中的另一個應用程序獲取數據?

我想我的應用程序複製表的內容。我的應用程序調用該應用程序。用戶必須手動將數據放入編輯文本中,然後按回車鍵。直到那時我的應用程序將在後臺運行。

  1. 這可能嗎?
  2. 如何?

另一個問題: 我可以截取第二個應用程序的屏幕截圖,然後使用圖像到文本解碼器來獲取該屏幕上的數據嗎?

回答

2

Here是關於應用程序之間的數據存儲和數據共享的完整文檔。我懷疑你可以共享數據庫,但你可以嘗試使用相同的方式使用external storage

+0

這個應用程序是不是我的,所以我甚至不知道該數據庫的謊言,所有的數據存儲。那樣的話,我該怎麼辦? – Pallavi

+0

我想你不能實現其他應用程序的任何私人數據。如果第三方應用程序想共享任何數據 - 它使用文檔 – Jin35

0

看來你想傳遞一些數據到該應用程序並運行它,對吧?這是可能的,當且僅當該應用程序提供一些「鉤」才能做到這一點。

在Android中,你可以,無論應用程序是否爲您有任何掛鉤,通過做這樣的事情啓動一個應用程序:

Intent intent=new Intent(); 
intent.setPackage(TARGET_APP's package name); 
context.startActivity(intent); 

這應該啓動該應用程序,但是,如果它不不會爲您提供掛鉤,該應用程序將按照正常運行的方式運行。在這種情況下,你的數據不會生效。如果它提供掛鉤,您可以通過intent.putExtra("KEy",value)put data然後啓動該應用程序。另一方面,如果你想從應用程序讀取一些數據,當且僅當該應用程序允許你這樣做時纔有可能。應用程序生成的數據默認是私有的。

+0

中描述的方法感謝您的回答,我寫了代碼來啓動應用程序,它工作正常,但我需要訪問數據。我無法做到這一點。 – Pallavi

+0

如果該應用程序未設計某些第三方應用程序傳遞數據的機制,則無法這樣做。 – Huang

+0

好的。謝謝。但是有沒有其他解決方法呢? – Pallavi

1

的Android沙箱單獨的應用程序,所以只能通過其公開的服務的其他應用程序進行交互 - 意圖和內容提供商。紮根幾乎肯定無濟於事。

從一個你一無所知的第三方應用程序獲取數據可能是不可能的,並且即使可能,也會使屏幕鏡頭變得雜亂和不可靠。

爲什麼不聯繫開發商,並解釋你想做的事,看他們是否會提供一個明智的方法可以讓你獲得他們的應用程序中的數據?

4

有兩種方式:

1)目的:如果你想分享少量的應用程序之間的文本或數字數據,就發送一個包含數據的意圖。

2)內容提供者:提供從你的應用程序到另一個應用程序的文件是向接收應用程序發送文件的內容URI並授予對該URI的臨時訪問權限。具有臨時URI訪問權限的內容URI是安全的,因爲它們僅適用於接收URI的應用程序,並且它們會自動過期。

相關問題