1

パッケージを使用して1つのアプリを開発しており、パッケージcom.example1を使用してライブラリとして使用する別のモジュールを作成していますcom.example2

私のモジュール ( com.example2) では、次の静的関数を使用しています。

    public static void saveLastDownload(Activity mActivity, long numberLong) {
        SharedPreferences sharedPref = mActivity.getPreferences(Context.MODE_APPEND);
        SharedPreferences.Editor editor = sharedPref.edit();
        editor.putLong(dataLastDownloadKey, numberLong);
        boolean commit = editor.commit();
    }

    public static long readLastDownload(Activity mActivity, long defaultValue) {
        SharedPreferences sharedPref = mActivity.getPreferences(Context.MODE_PRIVATE);
        return sharedPref.getLong(dataLastDownloadKey, defaultValue);
    }

私は行ったり来たりしようとしsaveDownloadreadLastDownloadcom.example1ますが、これらの共有された好みには何の価値もありません。この値を最新の方法で読み取るにはどうすればよいですか (セキュリティ ホールはありませんが、非公開にすることに興味はありません)。

どうすればできますか?

事前にどうもありがとうございました。

4

1 に答える 1

2

設定でこれを行いたい場合: MODE_WORLD_READABLE

誰でも書き込み可能なファイルを作成することは非常に危険であり、アプリケーションにセキュリティ ホールを引き起こす可能性があります。強くお勧めしません。代わりに、アプリケーションは、 ContentProviderBroadcastReceiver、およびServiceなどの相互作用のために、より正式なメカニズムを使用する必要があります。

于 2015-12-11T19:49:27.673 に答える