問題タブ [contentobserver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3753 参照

android - Androidデバイスで新しいアプリを検出する方法

ユーザーがアプリをインストールまたは削除するタイミングを検出したいのですが、これを実行するアプリが見つかりませんでしたBroadcastReceiver

私のアプリでは、インストールされているアプリに関する情報をクラスPackageManagerで取得していますが、アプリを定期的にスキャンしたくありません。これを行うものはありますBroadcastReceiverか?または何かContentObserver?アプリがインストールまたは削除されたという通知を受け取ることはできますか?

0 投票する
1 に答える
3903 参照

android - IntentReceiverコンポーネントは、インテントを受信するために登録することはできません

私はアプリ開発の最終段階にあり、今日、Galaxy Nexus(4.0.4を実行)は、「スリープ」から復帰したときにエラーメッセージをスローしました。電話は約1時間ほどアイドル状態でした。

残念ながら、正確なエラーメッセージを書き留めることはできませんでしたが、logcatから次のメッセージを取得することができました。

私のアプリには、電話のインテントを調べるBroadcastReceiverと、いくつかのContentObserverを登録するサービスがあります。アプリをテストしているときにエラーが表示されません。

誰かがlogcatからの以下のエラーを見て、私のアプリがそれらを引き起こした可能性があるかどうかを判断するのを手伝ってもらえますか?

編集

これがsに関連する私のコードのすべてですReceiver。私は実際に電話することはありませんregisterReceiver。確認するために、EclipseでFileSearchを実行してを探しましたregisterReceiver

これが私のマニフェストです:

これが私のサービスです:

これが私のBroadcastReceiverです:

0 投票する
1 に答える
1537 参照

android - 電話の連絡先をアプリと同期する

電話の連絡先 (名前と電話番号) をアプリの contentProvider の「連絡先」と同期したいと考えています。そこで、ContentOberver と SyncAdapter の 2 つの方法を検索して見つけました。

私の場合、Internt との接続は必要ないため、アプリのデータベースとのみ同期します。ユーザーが自分のデータベースでも削除したい連絡先を削除した場合、更新または挿入についても同じです。

この場合、ContentObserver がより良い方法でしょうか?

連絡先のキーを知る方法はありますか? db の行のキーのようなものです。はいの場合、データベースを頻繁に更新できます (ユーザーは時間を選択できます)。

0 投票する
0 に答える
958 参照

android - Androidのデバイス電話帳から削除または更新された連絡先に関する通知を受け取る方法

ContentObserverを使用すると、連絡先データベースに変更があったことを知ることができますが、デバイスの連絡先リストからどの連絡先が削除または更新されたかを知る必要があります。同じことを達成できる実例はありますか?どんな助けでもいただければ幸いです。

編集

電話帳にある連絡先全体のうち、内容が変更されたかどうかを知る必要がある特定の連絡先は1つだけです。そのような場合、電話帳全体ではなく、特定の1つの連絡先だけにオブザーバーを配置できますか?

0 投票する
1 に答える
5033 参照

android - Sqliteデータベースの更新により、サービスはコンテンツオブザーバーを介して更新されます

アプリのsqliteデータベースに変更が発生したときに、コンテンツオブザーバーを使用してサービスを更新しようとしています。

私は何をすべきか混乱しているので、以下にいくつかのコードをまとめました。通常、コンテンツオブザーバーは、連絡先またはバックグラウンドサービスを備えたメディアプレーヤーで使用されます。私の研究では、電話のsqliteデータベースで使用できることを読みました。

質問:1。SqliteデータベースにはURIがないため、どの情報を置き換えますPeople.CONTENT_URI

2.私の調査では、ContentObserverに警告するデータベースクラスに入るコードは見つかりませんでした。コンテンツオブザーバーのすべてのコードはサービスクラス内で機能しますか?

この質問は、Android SQLite DBの通知、連絡先データベースの変更をリッスンする方法に似ていることに注意してください 。どちらの質問も、私の質問に明示的に答えるものではありません。これを説明するコードがある場合、それは非常に役立ちます。

これが私のセミプセドコードです。それは動作しません。データベース情報が変更されたときにサービスを更新する方法を学ぶためにそれを使用しています。

0 投票する
1 に答える
8596 参照

android - CursorAdapter と LoaderCallbacks を使用してフラグメントに ContentObserver を実装する方法は?

コメントのリストを読み込んで表示するためにCursorAdapterを使用しています。ListFragment

関連する ContentProviderで、挿入アクションnotifyChange()用に追加しました。

質問:

  1. にオブザーバーのパラメータとして渡しnullてもよろしいでしょうか?notifyChange()そうでない場合、ここでどのオブジェクトを渡す必要がありますか?
  2. uriまたはを渡す必要がitemUriありnotifyChange()ますか? なんで?
  3. CommentsObserver#onChange()コメントのリストを更新するには、どのメソッドを呼び出す必要がありますか?
  4. ListFragmentの内部クラス インスタンスの代わりに実装できるインターフェイスはありませんContentObserverか?
  5. new Handler()のコンストラクターでa をインスタンス化するだけですCommentsObserver。これは私には正しくないようです - 説明してください。
0 投票する
2 に答える
924 参照

android - Jelly Bean で送信された SMS の ContentObserver に渡す正しい URI は何ですか?

ユーザーが送信した発信 SMS の数を集計しようとしています。現在、私のコードは次のようになります。

Jelly Bean を搭載したエミュレーターでアプリを実行しようとしましたが、何らかの理由で、ネイティブの SMS アプリを介してテキスト メッセージを送信すると、集計が 3ずつ増えます。

ここで、関連する StackOverflow q&a が示唆するように置き換えることにcontent://smsましたが、その設定でアプリを実行すると、コンテンツ オブザーバーの. 私は何をしますか?content://sms/sentonChange()

0 投票する
2 に答える
1043 参照

android - CalledFromWrongThreadException: Android ContentObserver および Activity インターフェイス

私はListActivitySMSを持っていContentObserverます。ListViewに送受信された SMS が表示されます。SMS データベース (送信/受信) に変更があるたびに、オブザーバーは 内の関数を呼び出してActivityを更新しますListView

これはFROYOで問題なく動作します。しかし、ICSでは次のようになります

android.view.ViewRootImpl$CalledFromWrongThreadException: ビュー階層を作成した元のスレッドのみがそのビューにアクセスできます。

何が問題なのか教えてください。

以下はトップレベルのコードです。

0 投票する
1 に答える
3657 参照

android - ContentObserver 対 BroadCastReceiver : バッテリー使用量、RAM、CPU?

アプリケーションのバッテリー使用量、RAM および CPU 使用量について必要な懸念があるため、複数のコンテンツ オブザーバーと複数のブロードキャスト レシーバーの費用はどうなるでしょうか?

例 1:

適切に登録/登録解除された 5 つのコンテンツ オブザーバーを使用して START_STICKY で実行されるサービス。

例 2:

マニフェストに設定された 5 つのブロードキャストレシーバーからサービスが起動されます。

例 3:

登録済みの5つのブロードキャストレシーバーを使用してSTART_STICKYで実行されるサービス。

オブザーバーとレシーバーの間のバッテリー使用量/RAM/CPUの真の違いは何ですか? プロはこれに参加できますか?1 つのインスタンスでは大した違いはないと思いますが、上記の例を一度に 5 つ実行してみましょう。

0 投票する
1 に答える
2230 参照

android - Android アクティビティと sms contentobserver を使用したサービス

アプリの要件

  • アプリケーションにはアクティビティとサービスがあります。

  • このサービスには、SMS コンテンツ オブザーバーがあります。

  • アプリケーションのインストール後、アプリケーションがアクティブかどうかに関係なく、サービスは常に実行されます。

  • サービス内の contentobserver の登録と登録解除は、アクティビティから制御する必要があります。

  • アプリケーションのアンインストール時に、サービスを破棄する必要があります。

私はいくつかのコードを試しました。サービスの oncreate で、コンテンツ オブザーバーの resgitartion を実行し、ondestroy で登録を解除しました。アクティビティからサービスの開始と停止を使用しました。ただし、サービスを停止した後でも、コンテンツ オブザーバーの onchange メソッドは引き続き呼び出されます。

このサービスのサンプル コードとマニフェスト定義を教えてください。