【问题标题】:Adding a contact via adb or monkeyrunner通过 adb 或 monkeyrunner 添加联系人
【发布时间】:2011-09-17 14:11:27
【问题描述】:

有谁知道有没有办法通过 adb 或 monkeyrunner 添加联系人?

使用

device.shell("am start -a android.intent.action.ACTION_INSERT -t ContactsContract.Contacts.CONTENT_TYPE -e ContactsContract.Intents.Insert.NAME "+name+" ContactsContract.Intents.Insert.PHONE "+number)

不适合我

【问题讨论】:

    标签: android android-contacts monkeyrunner


    【解决方案1】:

    使用这样的东西:

    device.shell("am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name 'Donald Duck' -e phone 555-1234")
    

    【讨论】:

    • @dtmilano 谢谢,它也对我有用!但我有两个类似的问题:1)如何删除联系人(只使用android.intent.action.DELETE?)? 2) 如何一次删除所有安卓联系人?
    • @dtmilano 找到了删除所有联系人的方法:adb shell pm clear com.android.providers.contacts。但是随后应该关闭联系人同步(我无法从命令行找到一种方法)。
    • 一个 AndroidViewClient 脚本来禁用一个帐户的联系人同步它不会那么困难。如果您发现任何问题,请尝试并创建一个新问题。
    • 那么您找到删除特定联系人的方法了吗?此外,有没有办法删除所有联系人而无需重新启动?就我而言,通讯录应用程序在擦除后总是崩溃,直到重新启动完成!
    • 如果您(读者)正在寻找一种使用 adb 和 Android Intents 来“添加和保存联系人”的方法 - 您需要知道没有办法做到这一点。这个答案有效,但它做了 Android Intent 应该做的事情 - 它启动一个应用程序(“电话”),打开一个特定的屏幕(“添加联系人”),其中一些细节已经到位(name='Donald Duck' , phone='555-1234'),但其余部分留给用户。从那里它取决于:默认的应用程序/操作系统版本/制造商/等。因此,结果 - 您可以使用 adb 和 Intent 来启动某些东西,但不能使用它来完全完成操作。
    猜你喜欢
    • 2014-06-27
    • 2021-04-29
    • 2020-03-26
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    相关资源
    最近更新 更多