android UiAutomator如何向所有微信好友發送一條“你好,***”開頭的祝福消息

在剛過去的情人節裏,在已經過去的元宵節裏,還有過去一段時間的除夕新年等節日裏,都需要向好友發送一條祝福消息,最好是附帶上對方的姓名,這樣顯得不是羣發的,故寫了一個方法來完成這件事情。同樣的方法也可以用到短信中去。

public void sendMassageToAllFriend() throws UiObjectNotFoundException {
//給微信好友發一條祝福信息
clean();
UiDevice.getInstance().pressHome();
//打開微信
getUiObjectByText("微信").clickAndWaitForNewWindow();
getUiObjectByText("通訊錄").clickAndWaitForNewWindow();
//建立一個朋友名字的數組
HashSet<String> friends = new HashSet<String>();
//滾動到頂部
getUiScrollableByResourceId("com.tencent.mm:id/hr").scrollToBeginning(5);
boolean key = true;
boolean one = false;
while(key){
//獲取當前頁面好友個數
int num = getUiScrollableByResourceId("com.tencent.mm:id/hr").getChildCount();
//把好友的姓名添加到數組中
for(int i=0;i<num-1;i++){
UiObject friend = getUiObjectByResourceIdIntance("com.tencent.mm:id/i_", i);
String name =  friend.getText();
//排除微信團隊和文件傳輸助手兩個好友可以以後在數組中刪除
if (name.equalsIgnoreCase("微信團隊") || name.equalsIgnoreCase("文件傳輸助手")) {
outputNotable(name);
}else{
friends.add(name);
}
}
//爲了滾動到底部時,再次執行上面的循環把餘下的好友也添加到數組
if (one) {
break;
}
//滾動到底部時one改爲true
if (!getUiScrollableByResourceId("com.tencent.mm:id/hr").scrollForward()) {
one = true;
}
}
//這個是先轉換成String[]數組在向每個好友發送消息
String[] de =  (String[])(friends.toArray(new String[0]));
for(int i=0;i<10;i++){
outputNotable(de[i]);
sendMassageToFriend(de[i], "你好,"+de[i]+"祝你情人節快樂!");
}
//這個直接遍歷friends中的名字發送消息
for(String x : friends){
sendMassageToFriend(x, "你好,"+x+"祝你情人節快樂!");
}
}

有一個問題就是你的好友必須超過一定的數量,大概是7個左右,不然會報錯。由於短信發送不敢輕易嘗試,暫且放棄了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章