Bạn có thể xuất bản đếm ngược trong trạng thái gmail của mình không? Giống như "01: 44: 15: 23" và các lần giảm liên tục.Cách xuất bản đếm ngược qua trạng thái gmail?
Trả lời
Tìm thấy một tốt article to share:
Google Talk sử dụng XMPP sau đó nếu bạn có thể kết nối sử dụng một XMPP client
để bạn Google account
bạn có thể sử dụng máy khách thay vì Google talk.
Toàn bộ cơ chế là quá đơn giản (sử dụng các Smack XMPP Library
vì nó là đơn giản và phục vụ tốt cho tôi):
- Đăng nhập.
- Tính chênh lệch giữa giờ và ngày được nhắm mục tiêu.
- Gửi sự hiện diện
Đăng nhập
import org.jivesoftware.smack.XMPPConnection;
public void connect() {
XMPPConnection connection = new XMPPConnection(server); //Server is gmail.com for Google Talk.
connection.connect();
connection.login(username, password); //Username and password.
}
Tính chênh lệch giữa bây giờ và ngày nhắm
Quá trình này được thực hiện sử dụng Java Lịch và ngày các đối tượng:
import java.util.Calendar;
import java.util.Date;
{
Calendar calendar1 = Calendar.getInstance();
Date d = new Date();
calendar1.setTime(d);
Calendar calendar2 = Calendar.getInstance();
calendar2.setTime(endLine); //End line is the date we're counting to.
long milliseconds1 = calendar1.getTimeInMillis();
long milliseconds2 = calendar2.getTimeInMillis();
long diff = milliseconds2 - milliseconds1;
long diffDays = diff/(24 * 60 * 60 * 1000);
diff = diff % (24 * 60 * 60 * 1000);
long diffHours = diff/(60 * 60 * 1000);
diff = diff % (60 * 60 * 1000);
long diffMinutes = diff/(60 * 1000);
diff = diff % (60 * 1000);
}
Mã này tính toán sự khác biệt giữa hai ngày theo ngày, giờ và phút.
Gửi sự hiện diện
Sau khi tính toán sự khác biệt tất cả chúng ta phải làm là để gửi các mặt:
import org.jivesoftware.smack.packet.Presence;
{
String remaining = Long.toString(diffDays) + " day(s), " + Long.toString(diffHours) + " hour(s), " + Long.toString(diffMinutes) + " minute(s) " + message; //Message is usually: Until "something".
Presence presence = new Presence(Presence.Type.available);
presence.setStatus(remaining);
presence.setPriority(24); //Highest priority in Google Talk
presence.setMode(presenceMode); //This is one of XMPP modes (Available, Chat, DND, Away, XA).
connection.sendPacket(presence);
}
Sau thời điểm này mọi người sẽ thấy trạng thái mới của bạn thay vì một trong Google Nói chuyện. (Lưu ý rằng bạn sẽ không thể thấy thay đổi bên trong Google Talk nhưng hãy yên tâm rằng nó đã thay đổi. Bạn muốn đảm bảo rằng thay đổi đó yêu cầu một người bạn của bạn cho bạn biết trạng thái của bạn).
PHP có thể được sử dụng cho điều này? –
bạn có thể tìm trợ giúp trên: http://code.google.com/p/xmpphp/ http://stackoverflow.com/questions/2495154/best-xmpp-client-php-javascript và http: //metajack.wordpress .com/2008/07/02/xmpp-is-better-with-bosh / –
của nó rất đơn giản chỉ cần tải status-counter.jar
từ here và viết một tập tin script
java -jar /root/status-counter.jar -status SF -username [email protected] -password XXXXXX -datetime 2013-03-21T16:00:00+02:00 -type hours -decimals 0
và viết một cron để làm công việc
*/5 * * * * /path/script.sh > /dev/null
này cập nhật trạng thái của bạn mỗi 5 phút. Bạn có thể tìm thêm chi tiết here.
Tôi muốn biết liệu có thể thay đổi thông báo trạng thái Gmail bằng API không? Một điều nữa tôi muốn biết là có thể đọc thông báo trạng thái Gmail B ANNG AN API không? –
liên kết này có liên quan đến khái niệm của bạn, vì vậy hãy xem nó: http://stackoverflow.com/questions/7035687/get-user-login-status-on-facebook-by-real-time – sanghavi7