0

私のプレイストアアカウントは100を超えるアプリを公開していますが、そのすべてにOTP検証を含むこの共通のユーザー生成プロセスがあります。興味深いのは、特定のOTP認証番号に対して同じプロパティを持つすべてのアプリが同じユーザーオブジェクトを持っていることです。文字列としてSharedPreferencesに格納されています。同じ署名を持つ他のアプリとユーザーの情報を共有する

ユーザーエクスペリエンスを向上させるために、デバイスにインストールされているアプリケーションが1つあり、OTP検証を行っている場合は、ユーザー生成プロセスをトリミングしたいと考えています。このユーザーオブジェクトを共有したいと思います。このユーザーオブジェクトは、各アプリケーションのSharedPreferencesに文字列として保存されています。

だからここに私はcom.domain.app.cXアプリのインストール時に、私が欲しいものです:

1)com.domain.app.cX - >(確認済みのユーザーを持っています) - ? >com.domain.app.cY

2.1)com.domain.app.cY - >(はい、私が持っている、ここにある "ユーザーJSON") - >com.domain.app.cX

または

2.2) com.domain.app.cY - >(ノー私はすべてのユーザーを持っていない) - >com.domain.app.cX

3)に移動しますcom.domain.app.cZがインストールされているかどうかを確認し、ステップからにわたり行う1

オプション私が持っている:私はおよそContentProviderを読んで、あなたはURに配置する必要があることを理解している

1)パッケージ名に固有のContentProviderのIである。

2)createPackageContextでパッケージ名を使用し、任意のアプリでSharedPreferencesを取得します。

どちらのソリューションでも、どのアプリが既に端末にインストールされているのかわからないので、すべてContentProviderのURIとアプリのパッケージ名がわかります。

すべてのアプリが同じ証明書で署名されているので、私はアプリの署名を活用できるソリューションはありますか?

+0

ドメイン名はすべてのアプリで同じですか? –

+0

はcom.companyname.property.c123とcom.companyname.property.c127のようになります。 123および127はセントラルシステムのプロパティのIDです。 –

+0

インストールされているアプリのリストを取得し、パッケージ名とドメイン名を一致させることができます。パッケージを見つけたら、そのコンテンツプロバイダに問い合わせて、ログインしたユーザー情報を取得します。 –

答えて

0

ブロードキャスト受信者とカスタムブロードキャストの使用。 共有設定があるすべてのアプリで共通のデータが重複しています。

すべてのアプリには、1組のブロードキャスト受信者と送信者が含まれています。 確認ステータスを希望するアプリはブロードキャストを送信します。 ブロードキャストを聴いている他のアプリは、それを受信して​​、そのインテントに確認ステータスを追加し、再度ブロードキャストとして送信します。 確認ステータスのためのブロードキャストを送信する第1のアプリケーションは、最新のステータスを受け取り、それに従ってUIを更新する。デフォルト値がfalseの場合は、確認画面を表示します。

関連する問題