騰訊微博分享android
1. 在安卓分享中,如何通過ACTION_SEND進行指定應用分享,比如我想指定微博,qq,微信,朋友圈,最好有代碼
//指定分享的應用(type)
private void initShareIntent(String type) {
boolean found = false;
Intent share = new Intent(android.content.Intent.ACTION_SEND);
share.setType("image/jpeg");
// gets the list of intents that can be loaded.
List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(share, 0);
if (!resInfo.isEmpty()){
for (ResolveInfo info : resInfo) {
if (info.activityInfo.packageName.toLowerCase().contains(type) ||
info.activityInfo.name.toLowerCase().contains(type) ) {
share.putExtra(Intent.EXTRA_SUBJECT, "subject");
share.putExtra(Intent.EXTRA_TEXT, "your text");
share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(myPath)) ); // Optional, just if you wanna share an image.
share.setPackage(info.activityInfo.packageName);
found = true;
break;
}
}
if (!found)
return;
startActivity(Intent.createChooser(share, "Select"));
}
}
//一些常用應用包名:
case ID_QQWEIBO:
initShareIntent("com.tencent.wblog");
break;
case ID_WEIXIN:
initShareIntent("com.tencent.mm");
break;
case ID_EVERNOTE:
initShareIntent("evernote");
break;
case ID_SINAWEIBO:
initShareIntent("com.sina.weibo");
break;
case ID_RENREN:
initShareIntent("renren");
break;
case ID_QQ:
initShareIntent("tencent.mobileqq");
break;
2. android sharesdk 分享之後回調怎麼寫
android shareSDK 微博分享案例
ShareSDK
APP_KEY 219b1121fc68
騰訊微博
key 801517904
secret
新浪微博
key 3815341537
secret
包名+keySotre簽名:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
准備階段:
使用ShareSDK步驟
1. ShareSDK官網,創建應用 獲取Key
2. ShareSDK官網,下載SDK
3. 使ShareSDK的DEMO正常運行
(類庫:ShareSDK for Android
demo:ShareSDK for Android Sample)
4.創建新的項目
5.去各平台注冊key
新浪微博:
a.證書簽名需要個人證書導出項目時獲取到
MD5 : 91:F0:5B:CE:67:58:F1:A1:E8:70:A4:F3:FA:5F:87:1B
證書格式為小寫字母並不含:
6.sample里所有的圖片以及values拷入當前新的項目:
此時需要修改 main_activity.xml and menu.xml 中跟 @String/ 有關的信息!
7.sample里asset里Sharesdk.xml拷入當前新的項目,並且修改指定內容
RedirectUrl:如果指定授權回調頁,就填寫回調頁,如沒有,就填寫應用網址
8.需要把sample里mainifest中的許可權拷入當前新的項目
9.sample里mainifest中的ShareSDKUIShell,activity注冊到當前新的項目中,代碼如下:
<activity
android:name="cn.sharesdk.framework.ShareSDKUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="keyboardHidden|orientation|screenSize"android:windowSoftInputMode="stateHidden|adjustResize" >
</activity>
10.拷入需要用到的jar包
必拷:mframework.jar
必拷:ShareSDK-Core-2.3.8jar
分享指定平台:
ShareSDK-XXX.jar
11.將onkeyshare包拷貝到當前項目中
分享步驟:
***************************
1.初始化ShareSDK
ShareSDK.init(this);
2.設置指定平台
Platform p=ShareSDK.getPlatform(XXX.NAME);
3.設置平台監聽器
p.setPlatform
AcitonListener{
1.error
2.complete
3.cancel
}
4.進行授權
p.rauthorize();
5.重寫平台監聽器中的complete
獲取某平台參數對象
Platform.ShareParams ps=
new XXX.ShareParams();
添加要分享的數據
ps.setText/setImageUrl/set..
分享
p.share(ps);
分享案例代碼:
[html] view plainprint?
package com.example.lovesharesdkdemo;
import java.util.HashMap;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.tencent.weibo.TencentWeibo;
public class MainActivity extends Activity {
private Platform platform;
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//1 初始化SDK
ShareSDK.initSDK(getApplicationContext());
//2.設置指定平台
platform = ShareSDK.getPlatform(TencentWeibo.NAME);
//3 獲取組件 注冊事件
textView = (TextView) this.findViewById(R.id.buttton);
textView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//TOFO 分享SDK
getShareSDK();
}
private void getShareSDK() {
//3 給平台添加 listener
platform.setPlatformActionListener(new PlatformActionListener() {
@Override
public void onError(Platform arg0, int arg1, Throwable arg2) {
// TODO error useful
Log.i("error", "---error="+arg2.getLocalizedMessage());
}
@Override
public void onComplete(Platform arg0, int arg1, HashMap<String, Object> arg2) {
// TODO finished useful
//設置分享的參數:
TencentWeibo.ShareParams shareParams = new TencentWeibo.ShareParams();
shareParams.setText("美女的世界");
shareParams.setImageUrl("http://t12..com/it/u=750616964,1500186643&fm=59");
// 分享
platform.share(shareParams);
}
@Override
public void onCancel(Platform arg0, int arg1) {
// TODO cancel
3. Android騰訊微博開發出現的問題
在WeiboDetailActivity中沒有通過unregisterReceiver注銷注冊UpdateReceiver對象。導致Receiver泄漏。這只是個告警,不影響程序的運行。但此數乎類告警最好進行修正。
-----------------------------------------------------------------------------------------------------
安卓精薯握悉英團為你解答
安皮桐卓精英團歡迎各位精英加入