您的位置:首页 > 移动开发 > Android开发

android 如何调用talk程序,集成到自己写的应用中

2011-10-08 12:05 585 查看
<?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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: