

手机通讯录,或许可以增加QQ、微信之类IM用户黏度
source link: https://www.cnxct.com/my-first-android-application-and-it-is-a-best-idea/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

很多互联网公司,都努力抢占互联网的用户入口,从PC的操作系统Ghost(番茄花园、深度),到PC的浏览器入口(hao123),到PC的桌面程序入口(360安全卫士),再到移动平台的刷机程序(shendu、shuame),这些地方,都陆续成为他们的目标。 在手机上,不管各种刷机程序如何精简软件,都剪不掉通讯录这个程序。如果,在通讯录中,展示当前用户Instant Messenger即时通讯工具中好友的在线状况呢?如果你想给别人打电话,在通讯录里找这个人,找到之后,发下下面有个QQ或者WeChat微信在线的图标,如果事情不紧急的话,你会选择通过QQ语音通话吗?
这得从我去年年底,今年年初买的一部手机说起。
在2012年底,我换了一部Android手机Google Nexus 4,这是我的第一步智能手机,我打算在它上面,做一些移动应用上的尝试。但不知道该做什么样的功能,无意中,看到通讯录中联系人的列表里,如果对方gtalk在线的话,会直接展示出来,而且,还会同步个性签名,这太棒了。
Google Talk在国内,不是很流行,用户基数也少。在国内最流行的,莫过于腾讯的QQ了,以及手机专用的IM --WeChat微信,我也是腾讯的重度老用户。试想着,也把QQ联系人状态显示在通讯录里,一目了然,方便用户,也扩大了腾讯的魔爪。
程序上来说,我初次写android应用,java也已经5、6年没碰过,当初也只是会写个hello world。现在做起来,实在难。还好有google 官方手册,各大开源社区上也有现成的开源项目,照葫芦画瓢,勉强能跑起来。实现IM状态更新到通讯录这比较简单,但获取当前登录QQ、以及登录QQ的联系人在线情况,签名信息这极为困难。腾讯没有提供相应接口。我也不敢逆向手机QQ源码,来获取相应信息,哪怕敢了,也要花费大量精力。哪怕做成了,还是给腾讯做嫁衣。
String imWhere = ContactsContract.Data.CONTACT_ID +
" = ? AND "
+ ContactsContract.Data.MIMETYPE +
" = ?"
;
String[] imWhereParams =
new
String[]{id,ContactsContract.CommonDataKinds.Im.CONTENT_ITEM_TYPE};
Cursor imCur = cr.query(ContactsContract.Data.CONTENT_URI,
null
, imWhere, imWhereParams,
null
);
if
(imCur.moveToFirst()) {
do
{
String imName = imCur.getString(imCur.getColumnIndex(ContactsContract.CommonDataKinds.Im.DATA));
int
imProtocol = imCur.getInt(imCur.getColumnIndex(ContactsContract.CommonDataKinds.Im.PROTOCOL));
int
imDATA_ID = imCur.getInt(imCur.getColumnIndex(ContactsContract.Data._ID));
String imLabel = imCur.getString(imCur.getColumnIndex(ContactsContract.CommonDataKinds.Im.LABEL));
switch
(imProtocol)
{
case
PROTOCOL_QQ:
System.out.println(imDATA_ID);
final
ArrayList<ContentProviderOperation> ops =
new
ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation.newInsert(ContactsContract.StatusUpdates.CONTENT_URI)
.withValue(ContactsContract.StatusUpdates.DATA_ID, imDATA_ID)
// ......
.build());
try
{
System.out.println(
"QQ QQ "
+id+
" "
+ imProtocol+
" -- "
+imName +
"==="
+imLabel);
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
}
catch
(
final
RemoteException e) {
Log.e(TAG,
"im type"
, e);
}
catch
(
final
OperationApplicationException e) {
Log.e(TAG,
"im type"
, e);
}
System.out.println(
"QQ "
+ imProtocol+
" -- "
+imName +
"==="
+imLabel);
break
;
case
PROTOCOL_MSN:
break
;
case
PROTOCOL_GOOGLE_TALK:
break
;
default
:
}
}
while
(imCur.moveToNext());
}
imCur.close();
这么一说,我的第一个移动应用,就这么OVER了。
抛开个人因素,单说这个创意,我认为,是令人震惊的…
如果你想给别人打电话,在通讯录里找这个人,找到之后,发下下面有个QQ在线的图标,如果事情不紧急的话,你会选择通过QQ语音通话吗?
(微信没有在线状态一说)
打开对方信息详情页:
如果你输入了号码, 通话界面,直接提醒你 QQ、WeChat在线,可以通过其免费语音通话,那你选择吗?(紧急事情除外)
当用户选择使用QQ、微信图标时,即(在电话接通之前)挂断电话,直接弹出对应的语音通话面板,开始通话。(如果电话接通,则隐藏图标选择界面。)
腾讯,你还等什么……
如果这样做了,那得劫持多少用户改用QQ啊? 移动、网通恨死IM了。 其实,移动,联通你们也可以的,但你们舍得么?敢吗?有勇气么?有胆识么?以后你们终究会从一张SIM电话卡沦落为移动的上网卡。
可能有人说,用户很少会在通讯录里填上对方的QQ号码,一般只会存个手机号,其他信息都会再输入了。但那是非智能手机的时候,填写联系人信息不方便的做法。现在可以在电脑上输入,云端同步到手机中。实在不行,腾讯不是有手机管家的通讯录管理功能么?腾讯自己就很容易帮用户关联好了吧?
上面提到,紧急事情可以不选择QQ、微信进行语音通话,但以后大家都喜欢这种通话方式,那么电话卡失去打电话功能,只能留下网络支持的功能了,那么移动电话卡变成移动网卡。
PS:就连Photoshop,老衲也用的很流畅,PS的界面也很惊艳,老衲不尽欣赏起自己一番。
莿鸟栖草堂 由 CFC4N 创作,采用 知识共享 署名-非商业性使用-相同方式共享(3.0未本地化版本)许可协议进行许可。基于http://www.cnxct.com上的作品创作。转载请注明转自:手机通讯录,或许可以增加QQ、微信之类IM用户黏度
No related posts.
Recommend
-
32
来源:“大江网”微信公众号原标题:手机这样充电,1秒泄露你的银行账户、通讯录…赶紧告诉家人如今,手机不离身已成为现代人的生活常态,一旦没电就感觉浑身不自在。考虑到大家的需求,目前在很多商场、电影院、甚至车站等公众场所都有手机充电桩提供,大多
-
57
原文发自我的 github 博客 缘由 小 N 同学通讯录太多,希望可以导出到 Excel 中,网上大部分做法都需要安装软件或者还有自己整理数据,太麻烦。 我们来试一试可不可以通过前端的思路来解决这个问题。 思路 拿到通讯录 导出到 Excel 既然是前端
-
25
V2EX › 程序员 有没有磁贴之类的工具可以自动计算其数量 zer0fire · 2 小时 57 分钟前...
-
22
想在 hyper v 里整一个虚拟机 然后把 qq 微信之类的国产软体都塞进去养蛊 V2EX › Windows 想在 hyper v 里整一个虚拟机 然后...
-
5
iPhone 截屏 1.修复了部分已知问题【换机助手,不耗流量的换机神器!】腾讯专业团队打造,首款手机直联资料传输工具软件两部手机无缝互联,无...
-
5
现在有越来越多的企业选择使用企业微信来添加客户,那么我们使用企业微信添加微信用户时,微信用户那边有没有提示呢?企业微信添加个人微信会不会出现在微信通讯录里? 企业微信添加个人微信会不会出现在微信通讯...
-
7
这篇文章主要针对手机通讯录和微信通讯录命名混乱、查找不易的问题思考解决办法,当然,对强迫症来说,通讯录命名方式的统一重要性要一般人更高一点。好友备注设置微信对好友的管理提供了两种方式,第一种就是我们点进去看到的好...
-
4
微信通讯录中,错误的将“嗯”放在 e 字母下 V2EX › 全球工单系统 ...
-
1
V2EX › 微信 渐渐发现微信其实就是一个通讯录而已 l...
-
8
企业微信 通讯录人数上限 2023-09-03 15:11:00
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK