Android之用sharedUserId來實現不同應用(APK)數據共享

      網友投稿 1488 2022-05-29

      android:sharedUserId

      當APK安裝的時候,userid這個標志就會產生。APK在設備上的整個生命周期中,這個ID不再改變。不同設備上同一個應用包可能有不同的userid,重要的是在給定的設備上,每個應用包有自己獨立的userid。

      userid的特點:

      1. 作為APK身份的標識 2. userid對應一個Linux用戶,所以不同APK(用戶)間互相訪問數據默認是禁止的.

      那么不同APK之間想要互相訪問數據應該怎么辦呢?

      Android為我們提供了兩種數據互訪的方法:

      一是使用Share Preference. / Content Provider

      APK通過指定接口和數據供其它APK讀取,開發者需要實現接口和指定share的數據。【此方法后面再詳細講解】

      二是在配置文件manifest中配置相同的UserId

      通過共享userid,擁有相同userid的用戶可以配置成運行在同一進程當中,因此默認就是可以互相訪問任意數據的

      也可以配置為不同進程當中,彼此之間就像訪問自己的數據一樣訪問彼此的數據庫和文件。

      例子:

      應用程序1:com.wirelessqa.sqlite

      應用程序2:com.wirelessqa.activity

      這兩個應用程序的userid相同,都為wirelessqa.com,因此兩個應用程序共享userid,如果1想訪問2的數據怎么辦呢?

      Content content = this.createPackageContent(“com.wirelessqa.activity”,Content.CONTENT_IGNORE_SECURITY);

      這樣通過content可以獲取到應用2中的資源,包括:數據庫,preference,資源文件等等

      注意:

      Android之用sharedUserId來實現不同應用(APK)數據共享

      基于安全考慮,兩個package需要有相同的簽名,否則沒有驗證,應用程序一旦設置了shareuserid,當程序被破解,其它應用也可以訪問我們的數據,數據不安全設置共享也就沒有多大意義了。

      總結:

      如果想要不同的APK之間共享數據需要滿足以下條件:

      1.APK的簽名必須相同

      2.android:shareUserId的值必須相同

      3.如果想要運行在同一個進行當中,必須設置android:process的值相同。

      application設置應用程序的全部組件都運行在某個線程中

      view source

      android:sharedUserLabel

      這個屬性給共享的userid定義了一個用戶可讀的標簽。這個標簽必須用字符串資源來設置,不能使用原生的字符串。

      這個屬性在API Level 3中被引入,只有在sharedUserId屬性被設置,這個屬性才有意義。

      Android

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:將Swagger2文檔導出為HTML或markdown等格式離線閱讀
      下一篇:戶外共享wifi,搭建信號橋(網橋)~只需幾步操作~
      相關文章
      国产亚洲精品美女久久久久| 中文字幕乱码亚洲无线三区 | 国产精品亚洲αv天堂无码| 亚洲 欧洲 自拍 另类 校园| 亚洲欧洲精品在线| 亚洲色图在线观看| 99久久亚洲综合精品成人网| 91大神亚洲影视在线| 亚洲精品电影在线| 亚洲福利一区二区三区| 亚洲成在人线电影天堂色| 亚洲欧洲精品久久| 亚洲一区二区三区播放在线| 国产成人精品亚洲2020| 亚洲中文字幕日本无线码| 亚洲日日做天天做日日谢| 亚洲中文字幕无码久久2020| 自拍偷区亚洲国内自拍| 亚洲码欧美码一区二区三区| 国产精品亚洲专区无码牛牛| 亚洲A∨午夜成人片精品网站| 亚洲av无码天堂一区二区三区| 亚洲七七久久精品中文国产| 亚洲av无码天堂一区二区三区 | 亚洲国产精品久久久久秋霞影院| 亚洲成A∨人片在线观看无码| 亚洲AV无码专区在线亚| 亚洲国产综合精品中文第一| 亚洲av永久中文无码精品综合| 大桥未久亚洲无av码在线| 亚洲国产高清精品线久久| 中文字幕在线亚洲精品| 久久亚洲免费视频| 亚洲成A∨人片在线观看无码| 日韩亚洲人成在线| 天堂亚洲免费视频| 亚洲乱码日产一区三区| 精品日韩亚洲AV无码一区二区三区 | 国产av无码专区亚洲av果冻传媒| 国产亚洲婷婷香蕉久久精品| 亚洲高清在线mv|