闲来无事,分析一下淘宝千牛客户端

<?xml version="1.0" encoding="UTF-8"?>
<manifest android:versionCode="32" android:versionName="1.3.1" package="com.taobao.qianniu"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="7" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.RESTART_PACKAGES" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.REORDER_TASKS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.READ_LOGS" />
    <application android:theme="@android:style/Theme.Light.NoTitleBar" android:label="@string/app_name" android:icon="@drawable/jdy_logo" android:name=".App" android:allowBackup="false">
        <meta-data android:name="LOG_LEVEL" android:value="2" />
        <activity android:theme="@android:style/Theme.Light.NoTitleBar" android:name=".activity.LoginActivity" android:launchMode="singleTop" android:screenOrientation="portrait" android:alwaysRetainTaskState="true" android:windowSoftInputMode="stateHidden|adjustResize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".activity.MainActivity" android:exported="true" android:launchMode="singleTask" android:screenOrientation="portrait" android:alwaysRetainTaskState="true">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="tbsellerplatform" />
            </intent-filter>
        </activity>
        <activity android:name=".activity.MessageCenterActivity" android:exported="false" android:launchMode="singleTop" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize" />
        <activity android:name=".activity.AuthorizeActivity" android:exported="false" android:launchMode="singleTop" android:screenOrientation="portrait" android:allowTaskReparenting="true" />
        <activity android:name=".activity.settings.AccountSettingsActivity" android:screenOrientation="portrait" />
        <activity android:name=".activity.settings.FAQActivity" android:screenOrientation="portrait" />
        <activity android:name=".activity.settings.AboutUsActivity" android:screenOrientation="portrait" />
        <activity android:name=".activity.settings.MsgCategorySettingActivity" android:screenOrientation="portrait" />
        <activity android:name=".activity.settings.SubscriptionActivity" android:screenOrientation="portrait" />
        <activity android:name=".activity.settings.HelpSettingsActivity" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize" />
        <activity android:name=".activity.settings.MsgAttentionSettingsActivity" android:screenOrientation="portrait" />
        <activity android:name=".activity.settings.SecurityActivity" android:screenOrientation="portrait" />
        <activity android:name=".activity.PluginDetailActivity" android:screenOrientation="portrait" />
        <activity android:name=".activity.PictureViewerActivity" android:exported="false" android:screenOrientation="portrait" />
        <activity android:theme="@style/activity_dialog" android:label="@string/choose_file" android:name="com.taobao.qianniu.view.common.FileChooseActivity" android:exported="false" android:screenOrientation="portrait" />
        <activity android:name=".activity.LiangziChartActivity" android:exported="false" android:screenOrientation="landscape" />
        <activity android:name=".activity.LiangziMainActivity" android:exported="false" android:screenOrientation="portrait" />
        <activity android:name=".activity.WapItemDetailActivity" android:exported="false" android:screenOrientation="portrait" />
        <activity android:name="com.taobao.qianniu.ww.activity.WWShortcutWordMainActivity" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize" />
        <activity android:name="com.taobao.qianniu.ww.activity.WWShortcutWordOperateActivity" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize" />
        <activity android:name=".ww.activity.WWSearchContactActivity" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize" />
        <activity android:name=".ww.activity.WWSettingsActivity" android:screenOrientation="portrait" />
        <activity android:name=".ww.activity.WWChatActivity" android:launchMode="singleTop" android:screenOrientation="portrait" android:windowSoftInputMode="stateHidden|adjustResize" />
        <activity android:name=".ww.activity.WWContactProfileActivity" android:screenOrientation="portrait" />
        <activity android:name=".ww.activity.WWReplySettingActivity" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize" />
        <activity android:name="com.taobao.qianniu.ww.activity.WWContactRateActivity" android:screenOrientation="portrait" />
        <activity android:name=".activity.H5ContainerActivity" android:exported="false" android:launchMode="singleTop" android:screenOrientation="portrait" android:allowTaskReparenting="true" android:windowSoftInputMode="adjustResize" />
        <activity android:name="com.taobao.qianniu.activity.AlipayWebviewActivity" android:exported="false" android:launchMode="singleTop" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize" />
        <activity android:name="com.taobao.qianniu.activity.H5UIActivity" android:exported="false" android:launchMode="singleTop" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize" />
        <activity android:name=".activity.SimpleAutoLoginWebviewActivity" android:exported="false" android:screenOrientation="portrait" />
        <activity android:name=".activity.settings.SubAccountListActivity" android:exported="false" android:screenOrientation="portrait" />
        <activity android:theme="@android:style/Theme.Translucent.NoTitleBar" android:name=".activity.SDKDelegateActivity" android:exported="false" android:excludeFromRecents="true" android:launchMode="singleTop" />
        <activity android:theme="@style/no_title_trans" android:name=".activity.ScavengerActivity" android:exported="false" android:clearTaskOnLaunch="true" android:excludeFromRecents="true" android:noHistory="true" />
        <activity android:theme="@android:style/Theme.Translucent.NoTitleBar" android:name=".activity.DialogActivity" android:exported="false" android:launchMode="singleTop" android:screenOrientation="portrait" android:allowTaskReparenting="true" />
        <activity android:theme="@android:style/Theme.Translucent.NoTitleBar" android:name=".activity.LockPatternActivity" android:exported="false" android:launchMode="singleTop" android:screenOrientation="portrait" android:windowSoftInputMode="stateAlwaysHidden" />
        <activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:name="com.google.zxing.client.android.CaptureActivity" android:exported="false" android:windowSoftInputMode="stateAlwaysHidden">
            <intent-filter>
                <action android:name="com.taobao.qianniu.barcode.scanner.SCAN" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <service android:name="com.alibaba.mobileim.inet.service.InetIOService" android:exported="false" />
        <service android:label="@string/core_service" android:name=".app.MessageService" />
        <receiver android:name=".app.ConnectivityChangeReceiver">
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            </intent-filter>
        </receiver>
        <receiver android:name="com.taobao.top.android.comm.SDKDelegateReceiver">
            <intent-filter>
                <action android:name="com.taobao.top.android.broadcast.event" />
                <data android:scheme="tbsellerplatform" />
            </intent-filter>
        </receiver>
        <provider android:name=".app.JdyContentProvider" android:authorities="com.taobao.qianniu.provider" />
    </application>
</manifest>

先看AndroidManifest文件,来看看他有些什么内容?
<service android:name="com.alibaba.mobileim.inet.service.InetIOService" android:exported="false" />
阿里的im服务,我猜测就是旺旺,淘宝开发平台里开放出来的旺旺api,只有一些统计功能,没有聊天功能。
研究一下这个im服务应该可能了解旺旺的聊天服务。

<receiver android:name="com.taobao.top.android.comm.SDKDelegateReceiver">
这个receiver 收听什么消息呢? 也可以好好观察一下。

猜你喜欢

转载自easymove.iteye.com/blog/1955557