android 账户管理和同步机制

在用微信的时候,发现微信建立了自己的独立账户管理,同时在联系人中,可以直接点击发送信息,查看朋友圈等功能,感觉挺方便了

然后就做了相关方面的调研,主要从两个方面,进行了研究

1、账号管理的是实现机制和同步实现方式

这个看:http://blog.csdn.net/swust_chenpeng/article/details/39401497

或者直接:http://blog.csdn.net/w2865673691/article/details/37403147

http://blog.csdn.net/u010002056/article/details/9210157

2、关于同步syncAdapter

这个主要参考sdk sample中的SampleSyncAdapter

导入可能提示的错误:

Permission is only granted to system apps android.permission.WRITE_SECURE_SETTINGS

Window -> Preferences -> Android -> Lint Error Checking.

In the list find an entry with ID = ProtectedPermission. Set the Severity to something lower than Error. This way you can still compile the project using Eclipse.

http://stackoverflow.com/questions/13801984/permission-is-only-granted-to-system-app


http://blog.csdn.net/xjanker2/article/details/6146289

这里最后提到上传到gae时,可能提示moudle找不到:“其中遇到的一个model moudle找不到的问题需要你在model中新建一个__init__.py的空文件,来说明是一个python模块,如果你也遇到此问题,希望对你有帮助。”

但是这个工程必须的配合server端使用,而server端需要搭建在Google App Engine,所以就得先在gae上新建一个app,然后记住appId即可。这是由于samplesyncadapter_server端的代码是基于python实现,所有我们去https://developers.google.com/appengine/downloads#Google_App_Engine_SDK_for_Python下载Google App Engine SDK for Python下载下来进行解压,关于它的使用,我们可以参考下:

http://blog.sina.com.cn/s/blog_bd0b53180101e9rw.html

http://lampeter123.iteye.com/blog/390536

http://www.qrong.com/archives/495

http://ego008.iteye.com/blog/554757

http://bbs.chinaunix.net/thread-1505938-1-1.html

感觉都差不多吧,随便看个就行了,然后我们利用google_appengine目录下(sdk的安装目录)的appcfg.py命令上传服务端代码到gae,命令:appcfg.py update \workspace\AuthenticatorActivity\samplesyncadapter_server\但是我这边上传的时候老提示出错:appcfg.py:2416 An error occurred processing file ‘‘: HTTP Error 401: Unauthorized. Aborting.,不知道什么原因,后来在appcfg.py后面加了个参数 --oauth2 ,具体原因不知道,可以看下:https://developers.google.com/appengine/docs/python/tools/uploadinganapp,上传成功之后,我们再输入:yourAppId/appspot..com我们sample syncadapter的页面就出来了



然后在配合客户端就可以用了

最后想要在联系人中,点击某个item,也能跳转到指定的intent,我们可以再manifest.xml中进行配置:

 <activity
            android:name=".authenticator.AuthenticatorActivity"
            android:label="@string/ui_activity_title"
            android:theme="@android:style/Theme.Dialog"
            android:excludeFromRecents="true"
            android:configChanges="orientation">
            <intent-filter>
                 <action
                    android:name="android.intent.action.VIEW" />
            	<data
                    android:mimeType="vnd.android.cursor.item/vnd.samplesyncadapter.profile"/>
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>


一定要加<category/>标签不然,联系人里面无法调用该intent,这时候点击对应的mineType类型,就可以跳转到对应的Activity

从age上同步下来的联系人时只读 了,不知道怎么回事???


图中弹出的对话框是点击View Profile弹出来的Activity(theme是dialog样式的)



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。