0

アプリケーションを初めて実行するかどうかを確認したいので、それを渡すのは難しいでしょう。

アプリケーションデータをクリアするか、空のファイルを削除するだけなので、設定または空のファイルのアプローチは機能しません。

また、オフラインで実行したいので、サーバーチェックも機能しません。

たぶん、apkのインストールにコードを追加して、1回だけ実行されるようにすることができます。

ですから、私の最善の策は、たくさんの空のファイルをあちこちにスポーンし、ユーザーがそれらを見つけられないことを願っていますが、これはかなり厄介です。

誰かがこれまでにこれをどうにかしてやったことがありますか?助言がありますか?

4

2 に答える 2

3

アプリケーションデータをクリアするか、空のファイルを削除するだけなので、設定または空のファイルのアプローチは機能しません。

1つの可能性はBroadcastReceiver、マニフェストに登録されている、実際には何にも使用しないことです。PackageManagerアプリの最初の実行時に、とを介してそのレシーバーを無効にしますsetComponentEnabledSetting()。将来の実行では、とを使用してそれBroadcastReceiverがすでに無効になっているかどうかPackageManagerを判断できますgetReceiverInfo()

ユーザーがアプリをアンインストールして再インストールすると、アプリは元の状態に戻ります。ルート権限を取得されたデバイスのユーザーもこれを乗り越えることができます。そうでなければ、これは適度にしっかりしているはずです。

于 2013-02-07T18:19:34.020 に答える
-1

ファイルは必要ないとおっしゃっていましたが、ローカルの内部ストレージとして作成した場合、ルート化された電話でない限りアクセスできないため、ユーザーはファイルを削除できません。データをクリアすると、それらが削除される可能性があります。

別の解決策がありますが、それは長いものです。SQLiteデータベースを使用します。ITはローカルであり、削除できるとは思いません。そうしないと、アプリケーション全体がクラッシュします。

于 2013-02-07T18:16:02.437 に答える