アプリケーションの実行時にコンテンツプロバイダが読み込まれることがわかっています。しかし、私はコンテンツプロバイダが立ち上げる前にいくつかの操作をしたいと思っています。どのようにこの操作をキャッチしますか?コンテンツプロバイダののonCreateメソッドがコンテンツプロバイダを初期化するにはどうすればよいですか?
答えて
解決策が見つかりました。アイブ氏は、私のカスタムアプリケーションクラスとオーバーライドさattachBaseContext方法
<application android:name=".ApplicationController" ...>
public class ApplicationController extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
// some of your own operations before content provider will launch
}
}
と呼ばれることになる。しかし、私は、コンテンツプロバイダが起動されます前に、いくつかの操作をしたい前に...コンテンツプロバイダののonCreateメソッドは
私の知る限りで呼ばれることになる前に、それは不可能です。 ContentProvider
のonCreate()
がコードを実行する最初の機会になります。プロセスがフォークされた後の瞬間です。私が正しく理解するならば、onCreate()
がApplication
で呼び出される前でさえ、それが起こります。
非常に悲しいです。アプリケーションのonCreateをオーバーライドしようとしましたが、アプリケーションのonCreateの前にコンテンツプロバイダがロードされているようです。答えてくれてありがとう。 – pleerock
を作成した私のソリューションは、call(Uri, String, String, Bundle)
API(そう、それは完全な下位互換性はありません)を使用する必要があります。しかし、私はそのcall
メソッドのオーバーライドで使用される前に、ContentProvider
を準備する必要があるものを持っています。それから私はを私のApplication.onCreate()
に入れます。本質的には、Application
が作成されるまで、それは私たちがContentProvider
のonCreate
が自然にやっていると予想していたものになるまで、それを守ります。
- 1. IKImageViewを初期化するにはどうすればよいですか?
- 2. 変数を初期化するにはどうすればよいですか?
- 3. 一様な初期化はどのようにすればよいですか?
- 4. このようなマップをC++で初期化するにはどうすればよいでしょうか?
- 5. Connectミドルウェアで非同期初期化を使用するにはどうすればよいですか?
- 6. UINavigationControllerで表示されるカスタムビューを初期化するにはどうすればよいですか?
- 7. フラグメント内に含まれるレイアウトのOnClickListenerを初期化するにはどうすればよいですか?
- 8. 初期化されていない値を避けるにはどうすればよいですか?
- 9. UIButtonから継承するこのカスタムクラスを初期化するにはどうすればよいですか?
- 10. Goで合成された構造体を初期化するにはどうすればよいですか?
- 11. アプリケーションが初期化されるとすぐにダイアログを開くにはどうすればよいですか?
- 12. 場所に基づいてGoogleマップを初期化するにはどうすればよいですか?
- 13. C++データ型を初期化できるクラスを作成するにはどうすればよいですか?
- 14. InputStreamでImageInputStreamをキャストまたは初期化するにはどうすればよいですか?
- 15. プライベートフィールドを参照するstatic constクラスメンバーオブジェクトを初期化するにはどうすればよいですか?
- 16. 初期化コンポーネントを使用せずにブラウザでナビゲートするにはどうすればよいですか?
- 17. JAVA:Object-wrappedインスタンスで特定のクラスタイプにArrayListを初期化するにはどうすればよいですか?
- 18. クラスメンバであるスマートポインタを初期化するにはどうすればよいですか?
- 19. Javaでこの2D配列をnullで初期化するにはどうすればよいですか?
- 20. TensorFlowでベルヌーイ分布で変数を初期化するにはどうすればよいですか?
- 21. ダーティセットをtrueにしてredux-formを初期化するにはどうすればよいですか?
- 22. Dlib:ignoreフラグを1に設定してmmod_rectを初期化するにはどうすればよいですか?
- 23. コンストラクタパラメータからテンプレートメンバ配列を初期化するにはどうすればよいですか?
- 24. 構造体を指すポインタの配列を初期化するにはどうすればよいですか?
- 25. LinkedListをエントリ/値で初期化するにはどうすればよいですか?
- 26. Cでこの2D配列を初期化するにはどうすればよいですか?
- 27. cで文字列配列を初期化するにはどうすればよいですか?
- 28. このクラスの他のメンバーデータでクラスメンバーデータを初期化するにはどうすればよいですか?
- 29. OSGiバンドル内でJavassist ClassPoolを作成/初期化するにはどうすればよいですか?
- 30. ベクトル<bool>を値01で初期化するにはどうすればよいですか?
これは現時点ではうまくいくかもしれませんが、バージョン間で信頼できるかどうかはわかりません。 – CommonsWare
17 apisで生き延びました))機能のGoogleではこの操作のためのAPIを提供しているかもしれませんが、現在は機能しています。返信ありがとうございます! – pleerock
このソリューションは機能しますが、完全に機能するわけではありません。たとえば、 'Context.getMainLooper()'メソッドは 'Application.onCreate()'の前に呼び出されると 'null'を返します。 – Michael