- アプリのインストール時に Web サービスを 1 回だけ実行する必要があるアプリに取り組んでいます。
- 現在、これには共有設定を使用していますが、ユーザーがアプリのデータをクリアすると、共有設定の値が失われ、コードがアプリが新しく作成されたことを損ない、コードが Web サービスをさらに実行します。
- したがって、自分のアプリ インストールのイベントをブロードキャストするソリューションが必要です。
- そのためのブロードキャストも作成しますが、他のアプリのインストール時にのみブロードキャストします。
私が使用したこのコード...
ステータス確認用
private void checkAppStatus() {
boolean isOpen = AppMethod.getBooleanPreference(MainActivity.this, AppConstant.PREF_IS_OPEN);
if (!isOpen) {
executeWS();
}
}
ブロードキャスト
public class AppInfoReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.e("My App", "Install");
}
}
マニフェスト
<receiver android:name=".receiver.AppInfoReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_INSTALL" />
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
</intent-filter>
</receiver>