これがあなたが探しているものかどうかはわかりませんが、始めるために何か提案させてください (おそらく)
例として、たとえば、アプリケーションに (5 ではなく) 2 つのボタンがあるとします。
ボタン 1 とボタン 2。
アプリケーションを起動するときは、必要なアプリケーション (独自のアプリケーションに対するサードパーティ) がインストールされているかどうか、または使用していないかどうかを確認します。PackageManager
これは、ユーザーのデバイスに Google マップがインストールされているかどうかを確認するためにアプリで使用する疑似コードです。
boolean installedMaps = false;
// CHECK IF AN APPLICATION IS INSTALLED
PackageManager pkManager = getPackageManager();
try {
PackageInfo pkInfo = pkManager.getPackageInfo("com.google.android.apps.maps", 0); // REPLACE THIS "com.google.android.apps.maps" WITH THE ACTUAL PACAKAGE NAME
// Log.e("pkInfo", pkInfo.toString());
installedMaps = true;
} catch (NameNotFoundException e) {
e.printStackTrace();
installedMaps = false;
}
がtrueboolean installedMaps
を返す場合、ボタンを有効にします。それ以外の場合は、ユーザーにダイアログを表示して、Google Play からアプリケーションをダウンロードするように求めます。
そして、アクティブ化または非アクティブ化する必要がある機能ごとにこれを行います。
注: そのためには、他のアプリケーションのパッケージ名を知る必要があります。不明な場合は、デバイスでアプリケーションを実行し、logcat を確認することで見つけることができます。
関連するすべてのアプリケーション間でコンテンツを共有する必要がある場合は、Content Providers
繰り返しますが、これがあなたが探しているものかどうかは完全にはわかりません. 私の仮定が間違っている場合は修正してください。