/*
* Copyright (C) 2010-2013 The SINA WEIBO Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.sina.weibo.sdk.openapi.legacy;
import java.net.URLEncoder;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
/**
* 此类封装了打开微博的各界面接口
*
* @author SINA
* @date 2014-03-03
*/
public class ActivityInvokeAPI {
/**
* 调起新浪微博客户端的发送微博界面,完成发送微博工作。
*
* @param activity
* @param content 微博内容
*/
public static void openSendWeibo(Activity activity,String content){
if(activity==null||null==content){
return;
}
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("sinaweibo://sendweibo?content="+URLEncoder.encode(content)));
activity.startActivity(intent);
}
/**
* 调起新浪微博客户端的发送微博界面,完成发送微博工作。
*
* @param activity
* @param content 微博内容
* @param xid 签到时 的地点id
* @param poiId POI点ID
* @param poiName POI点名称
* @param longitude 经度
* @param latitude 纬度
*/
public static void openSendWeibo(Activity activity,String content,String xid,String poiId,String poiName,String longitude,String latitude){
if(activity==null){
return;
}
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("sinaweibo://sendweibo?content="+content+"&xid="+xid+"&poiid="+poiId+"&poiname="+poiName+"&longitude="+longitude+"&latitude="+latitude));
activity.startActivity(intent);
}
/**
* 调用当前用户的周边的人的界面。
*
* @param activity
*/
public static void openNearbyPeople(Activity activity){
if(activity==null){
return;
}
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("sinaweibo://nearbypeople"));
activity.startActivity(intent);
}
/**
* 调用当前用户的周边的微博的界面。
*
* @param activity
*/
public static void openNearbyWeibo(Activity activity){
if(activity==null){
return;
}
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("sinaweibo://nearbyweibo"));
activity.startActivity(intent);
}
/**
*通过昵称 打开个人资料页面。
*
* @param activity
* @param nickName 昵称
*/
public static void openUserInfoByNickName(Activity activity,String nickName){
if(activity==null){
return;
}
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory("android.intent.category.DEFAULT");
// intent.setData(Uri.parse("sinaweibo://userinfo?nick="+URLEncoder.encode(nickName)));
intent.setData(Uri.parse("sinaweibo://userinfo?nick="+nickName));
activity.startActivity(intent);
}
/**
* 通过uid打开个人资料界面。
*
* @param activity
* @param uid 用户ID
*/
public static void openUserInfoByUid(Activity activity,String uid){
if(activity==null){
return;
}
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("sinaweibo://userinfo?uid="+uid));
activity.startActivity(intent);
}
/**
* 打开微博客户端内置浏览器。
*
* @param activity
* @param url 要打开的网页地址
*/
public static void openWeiboBrowser(Activity activity,String url){
if(activity==null){
return;
}
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("sinaweibo://browser?url="+url));
activity.startActivity(intent);
}
/**
* 打开微博客户端。
*
* @param activity
*/
public static void openWeibo(Activity activity){
if(activity==null){
return;
}
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("sinaweibo://splash"));
activity.startActivity(intent);
}
/**
* 打开摇一摇界面。
*
* @param activity
*/
public static void openShake(Activity activity){
if(activity==null){
return;
}
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("sinaweibo://shake"));
activity.startActivity(intent);
}
/**
* 打开通讯录界面。
*
* @param activity
*/
public static void openContact(Activity activity){
if(activity==null){
return;
}
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("sinaweibo://contact"));
activity.startActivity(intent);
}
/**
* 打开用户话题列表界面。
*
* @param activity
* @param uid 用户uid
*/
public static void openUserTrends(Activity activity,String uid){
if(activity==null){
return;
}
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("sinaweibo://usertrends?uid="+uid));
activity.startActivity(intent);
}
/**
* 打开私信对话界面。
*
* @param activity
* @param uid 用户uid
*/
public static void openMessageListByUid(Activity activity,String uid){
if(activity==null){
return;
}
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("sinaweibo://messagelist?uid="+uid));
activity.startActivity(intent);
}
/**
* 打开私信对话界面。
*
* @param activity
* @param uid 用户uid
*/
public static void openMessageListByNickName(Activity activity,String nickName){
if(activity==null){
return;
}
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("sinaweibo://messagelist?nick="+(nickName)));
activity.startActivity(intent);
}
/**
* 打开某条微博正文。
*
* @param activity
* @param blogId 某条微博id
*/
public static void openDetail(Activity activity,String blogId){
if(activity==null){
return;
}
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("sinaweibo://detail?mblogid="+blogId));
activity.startActivity(intent);
}
}