<?xml version="1.0" encoding="UTF-8"?>
<manifest android:versionCode="130" android:versionName="1.3" package="com.google.android.talk"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-sdk android:minSdkVersion="11" android:targetSdkVersion="11" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="com.google.android.gm.permission.READ_GMAIL" />
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH" />
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.mail" />
<uses-permission android:name="com.google.android.gtalkservice.permission.GTALK_SERVICE" />
<uses-permission android:name="com.google.android.gtalkservice.permission.SEND_HEARTBEAT" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="com.google.android.providers.talk.permission.READ_ONLY" />
<uses-permission android:name="com.google.android.providers.talk.permission.WRITE_ONLY" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<permission android:label="@string/videochatservice_perm_label" android:name="com.google.android.talk.permission.VIDEO_CHAT_SERVICE" android:protectionLevel="signature" android:permissionGroup="android.permission-group.MESSAGES" android:description="@string/videochatservice_perm_desc" />
<application android:label="@string/app_label" android:icon="@mipmap/ic_launcher_google_talk" android:name="TalkApp" android:taskAffinity="android.task.googletalk" android:hardwareAccelerated="true">
<service android:name=".videochat.VideoChatService" android:process=":videoChat" android:description="@string/videochatservice_description"> android:permission="com.google.android.talk.permission.VIDEO_CHAT_SERVICE">
</service>
<activity android:theme="@android:style/Theme.Translucent.NoTitleBar" android:icon="@drawable/ic_launcher_google_talk" android:name="PublicIntentDispatcher" android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.SENDTO" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.android.im.category.GTALK" />
<data android:scheme="im" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SENDTO" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="imto" android:host="gtalk" />
</intent-filter>
</activity>
<activity-alias android:icon="@drawable/ic_launcher_google_videochat" android:name="PublicCallIntentDispatcher" android:targetActivity="PublicIntentDispatcher">
<intent-filter>
<action android:name="android.intent.action.SENDTO" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/video-chat-address" android:scheme="xmpp" />
</intent-filter>
</activity-alias>
<activity-alias android:icon="@mipmap/ic_launcher_google_talk" android:name="MessageCallIntentDispatcher" android:targetActivity="PublicIntentDispatcher">
<intent-filter>
<action android:name="android.intent.action.SENDTO" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="xmpp" />
</intent-filter>
</activity-alias>
<activity android:name=".SignoutActivity" android:configChanges="keyboard|keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:theme="@android:style/Animation.TypingFilterRestore" android:name=".BuddyListCombo" android:launchMode="singleTop" android:configChanges="keyboard|keyboardHidden|orientation" android:background="#ff555555" android:windowSoftInputMode="stateHidden" />
<activity android:name=".AddAccountActivity" android:configChanges="keyboard|keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.INSERT" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.android.im.category.GTALK" />
<data android:mimeType="vnd.android.cursor.item/gtalk-providers" />
</intent-filter>
</activity>
<activity-alias android:name=".SigningInActivity" android:targetActivity="BuddyListCombo">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.android.im.category.GTALK" />
<data android:mimeType="vnd.android.cursor.dir/gtalk-contacts" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.android.im.category.GTALK" />
<data android:mimeType="vnd.android.cursor.dir/gtalk-messages" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.android.im.category.GTALK" />
<data android:mimeType="vnd.android.cursor.dir/gtalk-groupMessages" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.android.im.category.GTALK" />
<data android:mimeType="vnd.android.cursor.item/gtalk-chats" />
</intent-filter>
</activity-alias>
<activity android:theme="@android:style/Animation.TypingFilterRestore" android:name="ChatScreen" android:taskAffinity="" android:excludeFromRecents="true" android:configChanges="keyboard|keyboardHidden|orientation" android:windowSoftInputMode="adjustResize" />
<activity android:name="BlockedContactsScreen" android:configChanges="keyboard|keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
</intent-filter>
</activity>
<activity android:theme="@android:style/Animation.SearchBar" android:label="@string/invite_buddy" android:name="AddBuddyScreen" android:configChanges="keyboard|keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
</intent-filter>
</activity>
<activity android:theme="@android:style/Theme.Translucent.NoTitleBar" android:label="@string/buddy_request" android:name="SubscriptionScreen" android:excludeFromRecents="true" android:configChanges="keyboard|keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.GTALK_MANAGE_SUBSCRIPTION" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/gtalk-contacts" />
</intent-filter>
</activity>
<activity android:theme="@android:style/Theme.Translucent.NoTitleBar" android:name="GroupChatApproval" android:excludeFromRecents="true" android:configChanges="keyboard|keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
</intent-filter>
</activity>
<activity android:theme="@android:style/Animation.SearchBar" android:label="@string/group_chat_add_contact" android:name="GroupChatInviteeList" android:configChanges="keyboard|keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
</intent-filter>
</activity>
<activity android:name="TermsOfServiceActivity" />
<activity android:name="BlockedList" />
<activity android:name="InvitedUserList" />
<activity android:theme="@android:style/Animation.SearchBar" android:label="@string/user_profile_title" android:name="BuddyInfo" android:windowSoftInputMode="stateHidden" />
<activity android:theme="@android:style/Animation.TypingFilterRestore" android:label="@string/activity_preferences" android:name="GTalkPreferencesActivity" android:configChanges="keyboard|keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.android.im.category.GTALK" />
<data android:mimeType="vnd.android-dir/gtalk-accountSettings" />
</intent-filter>
</activity>
<activity android:label="@string/gtalk_service_monitor" android:name="GTalkDiagnostics" android:configChanges="keyboard|keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.TEST" />
</intent-filter>
</activity>
<receiver android:name="GTalkDiagnosticsBroadcastReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SECRET_CODE" />
<data android:scheme="android_secret_code" android:host="8255" />
</intent-filter>
</receiver>
<activity android:theme="@android:style/Animation.TypingFilterRestore" android:name=".SearchActivity" android:configChanges="keyboard|keyboardHidden|orientation" android:hardwareAccelerated="false">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="android.app.searchable" android:resource="@xml/searchable" />
</activity>
<activity android:theme="@android:style/Animation.TypingFilterRestore" android:label="@string/search_results" android:name="SearchChatResultActivity" android:configChanges="keyboard|keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
</intent-filter>
</activity>
<meta-data android:name="android.app.default_searchable" android:value=".SearchActivity" />
<provider android:name="SuggestionsProvider" android:authorities="com.google.android.talk.SuggestionProvider" />
<activity android:label="@string/set_status_activity_title" android:name="SetStatusActivity" android:configChanges="keyboard|keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
</intent-filter>
</activity>
<receiver android:name=".videochat.NotificationReceiver">
<intent-filter>
<action android:name="com.google.android.videochat.RECEIVED_MESSAGE" />
<action android:name="com.google.android.talk.RECEIVE_MESSAGE" />
<action android:name="com.google.android.talk.CANCEL_NOTIFICATION" />
</intent-filter>
</receiver>
<activity android:theme="@android:style/Animation.TypingFilterRestore" android:label="@string/activity_account_selection" android:name="AccountSelectionActivity" android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.android.im.category.GTALK" />
<data android:mimeType="vnd.android.cursor.dir/gtalk-accounts" />
</intent-filter>
</activity>
<activity android:theme="@style/Theme.Light.Holo.NoActionBar.NoIme" android:name=".videochat.VideoChatActivity" android:process=":videoChat" android:configChanges="keyboard|keyboardHidden" android:hardwareAccelerated="false">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:theme="@style/Theme.Light.Holo.NoActionBar.NoIme" android:name=".videochat.RenderTestActivity" android:process=":videoChat" android:excludeFromRecents="true" android:launchMode="singleTop" android:configChanges="keyboard|keyboardHidden" android:hardwareAccelerated="false">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:theme="@android:style/Theme.Translucent.NoTitleBar" android:label="@string/notification_popup_title" android:name=".AlertNotificationActivity" android:taskAffinity="" android:excludeFromRecents="true" android:launchMode="singleInstance" android:configChanges="keyboard|keyboardHidden|navigation|orientation" />
<activity android:theme="@style/Theme.Holo.Light.Wallpaper.NoTitleBar" android:name=".AlertNotificationFullScreenActivity" android:taskAffinity="" android:excludeFromRecents="true" android:launchMode="singleInstance" android:configChanges="keyboard|keyboardHidden|navigation|orientation" />
</application>
</manifest>
通过apktool工具反编译talk.apk的AndroidManifest.xml文件,可以知道talk是通过类SigningInActivity进行google用户的登入,那么要自己写的程序调用已经安装了talk程序的过程只需如下操作
Intent mIntent = new Intent();
mIntent.setAction("android.intent.action.MAIN");
mIntent.addCategory("android.intent.category.DEFAULT");
mIntent.addCategory("android.intent.category.LAUNCHER");
mIntent.addCategory("android.intent.category.VOICE_LAUNCH");
startActivity(mIntent);