偶然、私は真新しいHTC Heroのオーナーになりました。
初めて電話をオンにしたときに、Googleアカウントをセットアップします。 すべての連絡先が電話と同期されました。 Googleのビデオプレゼンテーションによると、非常に便利です。 たとえば、携帯電話を紛失しても、連絡先は引き続きGoogleに保存されます。
すべては問題ありませんが、個人データをリモートのGooglサーバーに保存したくないだけです。 連絡先の設定を確認しました-タイプの変更はありません。 つまり、連絡先を作成するときに、Google、電話、SIMを選択できます。 しかし、将来、連絡先の種類は変更されません。
しかし、トリッキーなものごとに、確かに何かがあります。
1)Android SDKをコンピューターにインストールします。
2)adbユーティリティ(SDKのTOOLSディレクトリにあります)を使用して、電話に接続します。
./adb shell
3)次に、連絡先のデータベースを開きます。
# sqlite3 /data/data/com.android.providers.contacts/databases/contacts.db
注:非公式のルートファームウェアがあります。 公式ファームウェアでは、この方法の動作を確認しませんでした。
4)最も好奇心が強い人のために、テーブルヘッダーの表示を有効にできます。
sqlite> .headers ON
データベース内のすべてのテーブルのリストも参照してください。
sqlite> .tables
5)すべての連絡先を確認します。
sqlite> select * from people;
注:必要な連絡先の「_id」(行の最初の番号)を覚えておいてください。 たとえば、164。
6)そして、見よ、私たちは連絡先の種類をGoogleから電話に変更します:
sqlite> update people set extra_group='2' where _id='164';
または、すべての連絡先を変更する必要がある場合(ポイント5-スキップ
):
sqlite> update people set extra_group='2';
これで、この連絡先は電話に保存され、Google連絡先の表示をオフにできます。
PS:この記事が誰かの役に立つことを願っています。 コメントを歓迎します!
UPD:ルートとsqlite3のないファームウェアが電話にない場合は、コンピューターで使用します。 コンピューターにデータベースをダウンロードします。
adb pull /data/data/com.android.providers.contacts/databases/contacts.db contacts.db
コンピューターでsqlite3を起動します。
sqlite3 contacts.db
次に、連絡先のタイプを変更し、sqlite3を終了します。
次に、変更したファイルを電話にアップロードします。
adb push contacts.db /data/data/com.android.providers.contacts/databases/contacts.db
sqlite3をコンピューターにインストールすることは、ルート化されていないヒーローよりも簡単です。