台灣最大程式設計社群網站
線上人數
669
 
會員總數:244893
討論主題:188887
歡迎您免費加入會員
討論區列表 >> Android APP 開發 >> 不同apk的資源共享
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
不同apk的資源共享
價值 : 300 QP  點閱數:136 回應數:4

樓主

studycode
門外漢
0 42
1725 79
發送站內信

公司有一個購物app(暫稱app1),需登入才能購買,
因業務需求,再開發另一個app(暫稱app2),需要判斷app1是否有安裝且登入。

目前app1登入後會將會員資料存在SharedPreferences,
查說權限可以設為MODE_WORLD_READABLE,就可以讓其它app讀取,
但又說這個權限不被建議使用,且官方不再支援!
請問我還能用什麼方式儲存app1的登入資料,也讓app2能讀取呢?
還有,app1也必需解除安裝時清空登入資料,
因為若沒清空,那app1解除重安裝,還沒做登入的話,
app2會讀取到上一位登入者的資料。

還請高手不吝指教,謝謝!!

搜尋相關Tags的文章: [ 共享 ] , [ SharedPreferences ] ,
本篇文章發表於2019-07-25 09:43
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
不錯的參考

缺氧的羊:窒息
捐贈 VP 給 缺氧的羊:窒息 檢舉此回應
撇開check app1是否有安裝這件事...

我想到的方式...

APP1, 登入時, 把資料透過web 儲存在server(讓server知道 xxxx 手機 登入中)
(儲存的記錄要設定失效時間, 例如3小時沒更新視同未登入, 必須APP1有繼續操作才更新登入時間)

APP2, 每次執行時, 直接透過web抓登入記錄, 查詢 xxxx 手機 是否登入中...
只要APP2在執行過程中, 發現到已無登入資料, 就自動離開


(xxxx 手機, 可以是電話號碼, 也可以是手機本身的IMEI, 也可以是2者結合)
本篇文章回覆於2019-07-25 13:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

studycode
檢舉此回應
不好意思,我沒有說明的很清楚~
我要判斷是否app1已登入的意思是,是否有登入過,而不是是否登入中,
app1只要第一次輸入帳密,公司的server就會記錄該手機IMEI是哪一位會員帳號(綁定),
這樣子,我app2才可允許該會員使用,就算會員可能很久沒開app1了,我app2還是可以允許他使用。

登入功能在app1,而app2會以IMEI去server查是哪一位會員然後自動登入,
所以必須由app2確認app1是否已安裝並登入過,不然可能會發生下面情形:
1.app1解安裝,但因IMEI在server資料還在,所以app2還是會抓到會員資料自動登入
2.假設我借王XX的手機登入app1,然後解安裝,以為帳號就消除了,但王XX又重安裝app1且還沒登入就先開app2的話,王XX會以我的帳號自動登入app2

想知道如何避免這些狀況?

謝謝「缺氧的羊:窒息」^^
本篇文章回覆於2019-07-25 17:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

缺氧的羊:窒息
捐贈 VP 給 缺氧的羊:窒息 檢舉此回應
要嘛就是限制有效時間(APP1每天至少一定要開1次之類的)

=====================

要嘛就是參考目前各大APP的連通方式
例如, QRcode掃瞄台灣pay的付費網址【TWQRP://ooxxooxx/xxx/xx/V1?D1=xxxxx】, 會啟動台灣pay的app

具體作法:
APP1首次執行時, 產生一組跟特定的加密隨機碼(儲存在自己的資料夾內, 移除APP1之後就會不見, 如同遊戲的登入資料)
APP1登入時, 在Web Server一併存入隨機碼

APP2的登入機制, 必須是連結某個APP1所產生的指定網址【studycode://app2/ooxx/V1?tcode=隨機碼】,
也就是說, 必須是由APP1來點擊包含上述網址的按鈕, 讓APP2來登入

藉此將APP2與APP1綁定...

APP2在執行時只需要檢查APP1是否安裝於手機中即可...
APP2必須將[studycode://]註冊為你的APP2所使用...

https://fecbob.pixnet.net/blog/post/43011193-android--%E4%BD%BF%E7%94%A8%E7%89%B9%E5%AE%9A%E7%9A%84url%E9%96%8B%E5%95%9F%E6%87%89%E7%94%A8%E7%A8%8B%E5%BC%8F
https://stackoverflow.com/questions/2448213/how-to-implement-my-very-own-uri-scheme-on-android
本篇文章回覆於2019-07-26 11:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

studycode
檢舉此回應
感謝「缺氧的羊:窒息 」提供的靈感,
原來可以在app中開啟另一個app!!
搜尋網址開啟app的同時也找到另一個方式,
可以在app1用intent.setComponent(componentName)開啟app2,
然後用putExtras傳參數!!!
終於可以達成我要的功能,謝謝!!
本篇文章回覆於2019-07-29 16:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.