我不知道是否可能有如下情況:掛鉤一些常規任務?
我一直是停留在背景中的應用(服務),和被觸發每當用戶
- 添加/刪除/更新聯繫人
- 裝/卸載應用程序
- 添加/刪除/重命名的FS
你認爲這是可能的傢伙一個文件? (當然,如果可以通過黑客和骯髒的東西來通過)
我試圖在網上查找一下,但沒有找到與此有關的討論。
你的猜測是什麼?
我不知道是否可能有如下情況:掛鉤一些常規任務?
我一直是停留在背景中的應用(服務),和被觸發每當用戶
你認爲這是可能的傢伙一個文件? (當然,如果可以通過黑客和骯髒的東西來通過)
我試圖在網上查找一下,但沒有找到與此有關的討論。
你的猜測是什麼?
沒有嘗試過任何這自己,但:
http://mylifewithandroid.blogspot.com/2008/03/observing-content.html似乎處理接觸檢測數據的變化。基本上你需要註冊一個ContentObserver
並處理你通知的變化。
結帳http://developer.android.com/reference/android/content/Intent.html - 由此您可以註冊BroadcastReceiver以通知正在安裝或卸載的應用程序。查找ACTION_PACKAGE_ADDED
和ACTION_PACKAGE_REMOVED
請參閱How to detect file or folder changes in Android?瞭解如何檢測文件系統中文件何時更改。您可能被限制爲使用FileObserver的沙箱,我不確定。此外 - 重命名似乎沒有明確通知,但你可能會從一個MOVED_FROM
其次是MOVED_TO
,也可能是DELETE
隨後CREATE
的SDK版本5+ SDK樣本中發現檢測到它:
/**
* Retrieves the contact information.
*/
@Override
public ContactInfo loadContact(ContentResolver contentResolver, Uri contactUri) {
ContactInfo contactInfo = new ContactInfo();
long contactId = -1;
// Load the display name for the specified person
Cursor cursor = contentResolver.query(contactUri,
new String[]{Contacts._ID, Contacts.DISPLAY_NAME}, null, null, null);
try {
if (cursor.moveToFirst()) {
contactId = cursor.getLong(0);
contactInfo.setDisplayName(cursor.getString(1));
}
} finally {
cursor.close();
}
// Load the phone number (if any).
cursor = contentResolver.query(Phone.CONTENT_URI,
new String[]{Phone.NUMBER},
Phone.CONTACT_ID + "=" + contactId, null, Phone.IS_SUPER_PRIMARY + " DESC");
try {
if (cursor.moveToFirst()) {
contactInfo.setPhoneNumber(cursor.getString(0));
}
} finally {
cursor.close();
}
return contactInfo;
}
您可以指定要與Cursor cursor = contentResolver.query(contactUri, new String[]{Contacts._ID, Contacts.DISPLAY_NAME}, null, null, null);
列名在http://developer.android.com/reference/android/provider/ContactsContract.Contacts.html描述和看樣品,似乎cursor.getLong(0)
這裏就是你要找的聯繫人ID中檢索聯繫人列。它也看起來很不穩定,這取決於聯繫人是如何編輯的以及如何添加其他人,但你也抓住了這些,所以你應該能夠處理這些情況。
謝謝你的男人!感謝你,我想我現在只需要我。親切的問候 – CoolStraw
哇:直入洞!非常感謝你。沒有評論:) – CoolStraw
沒有probs。值得指出的是,你無法以任何方式實際阻止或影響這些操作,因此它不是傳統意義上的鉤子 - 它只是一個通知。 – RivieraKid
夠公平了,我不需要那麼多,簡單的通知就完美了:)。再次感謝您;) – CoolStraw