当前位置: 编程技术>移动开发
本页文章导读:
▪HttpClient根据系统配置设置代理 HttpClient依据系统配置设置代理
import org.apache.http.HttpHost;
import org.apache.http.client.HttpClient;
import org.apache.http.client.params.HttpClientParams;
import org.apache.http.conn.params.ConnRoutePNames;
import org.apache.http.impl..........
▪ service Notification Thread的结合拳 service Notification Thread的组合拳
碰到一个需求,就是隔一段时间调用webservice接口,如果有信息就提示有新消息。虽然就一句话,但是想做好还真不太容易,昨天写好的demo今天调了一天,终.........
▪ 拿到会打开指定类型文件的应用程序 拿到能打开指定类型文件的应用程序
Intent it = new Intent();
it.setType("image/*")
List<ResolveInfo> ra = this.getPackageManager().queryIntentActivities(it,0);
for(int i=0;i<ra.size();i++){
ActivityInfo ai = ra.get(i)..........
[1]HttpClient根据系统配置设置代理
来源: 互联网 发布时间: 2014-02-18
HttpClient依据系统配置设置代理
自己写的一个工具类,提供如下方法
1) 判断WIFI是否连接
2) 判断数据业务(3G, EDGE, GPRS)是否连接
import org.apache.http.HttpHost; import org.apache.http.client.HttpClient; import org.apache.http.client.params.HttpClientParams; import org.apache.http.conn.params.ConnRoutePNames; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.apache.http.params.HttpProtocolParams; import android.content.Context; import android.net.Proxy; import android.text.TextUtils; import android.util.Log; public final class HttpClientFactory { private static final String TAG = HttpClientFactory.class.getSimpleName(); private static final int BUFFER_SIZE = 8192; private static final String USER_AGENT = "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 GTB6 (.NET CLR 3.5.30729)"; private static final int CONN_TIME_OUT = 20 * 1000; private static final int READ_TIME_OUT = 20 * 1000; private HttpClientFactory() { super(); // TODO Auto-generated constructor stub } public static HttpClient createHttpClient(Context context) { // 创建 HttpParams 以用来设置 HTTP 参数(这一部分不是必需的) HttpParams httpParams = new BasicHttpParams(); // 设置连接超时和 Socket 超时,以及 Socket 缓存大小 HttpConnectionParams.setConnectionTimeout(httpParams, CONN_TIME_OUT); HttpConnectionParams.setSoTimeout(httpParams, READ_TIME_OUT); HttpConnectionParams.setSocketBufferSize(httpParams, BUFFER_SIZE); // 设置重定向,缺省为 true HttpClientParams.setRedirecting(httpParams, true); // 检测代理设置 String proxyHost = Proxy.getHost(context); int proxyPort = Proxy.getPort(context); Log.d(TAG, "[createHttpClient] proxyHost = " + proxyHost); Log.d(TAG, "[createHttpClient] proxyPort = " + proxyPort); boolean isWifiConnected = Utils.isWifiConnected(context); boolean isMobileConnected = Utils.isMobileConnected(context); Log.d(TAG, "[createHttpClient] isWifiConnected = " + isWifiConnected); Log.d(TAG, "[createHttpClient] isMobileConnected = " + isMobileConnected); if (!isWifiConnected && !TextUtils.isEmpty(proxyHost)) { HttpHost proxy = new HttpHost(proxyHost, proxyPort); Log.d(TAG, "Set proxy: host: " + proxyHost + " port:" + proxyPort); httpParams.setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); } // 设置 user agent String userAgent = USER_AGENT; HttpProtocolParams.setUserAgent(httpParams, userAgent); HttpClient httpClient = new DefaultHttpClient(httpParams); return httpClient; } }
1 楼
337240552
2011-08-23
2 楼
xjm236
2011-12-26
Utils.isWifiConnected(context);
楼主,请问Utils这个类是什么样的
楼主,请问Utils这个类是什么样的
3 楼
shaobin0604
2011-12-26
xjm236 写道
Utils.isWifiConnected(context);
楼主,请问Utils这个类是什么样的
楼主,请问Utils这个类是什么样的
自己写的一个工具类,提供如下方法
1) 判断WIFI是否连接
2) 判断数据业务(3G, EDGE, GPRS)是否连接
[2] service Notification Thread的结合拳
来源: 互联网 发布时间: 2014-02-18
service Notification Thread的组合拳
碰到一个需求,就是隔一段时间调用webservice接口,如果有信息就提示有新消息。
虽然就一句话,但是想做好还真不太容易,昨天写好的demo今天调了一天,终于差不多了。
上代码
起始的Activity
Myservice类中
Service类中的Handler中根据具体情况 决定是否调用showNotification()
退出应用的时候要清除掉Notification Destory()中的mNM.cancelAll() 就清空了。
在调用完stopService()后别忘了关掉flag开关,OK了
碰到一个需求,就是隔一段时间调用webservice接口,如果有信息就提示有新消息。
虽然就一句话,但是想做好还真不太容易,昨天写好的demo今天调了一天,终于差不多了。
上代码
起始的Activity
new Thread(new Runnable(){ public void run() { while(flag){ try { startService(new Intent(Home.this,MyService.class)); Thread.sleep(1000*10); } catch (InterruptedException e) { e.printStackTrace(); } } } }).start();
Myservice类中
public void onStart(Intent intent, int startId) { // TODO Auto-generated method stub super.onStart(intent, startId); mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); .... } @Override public void onDestroy() { mNM.cancelAll(); super.onDestroy(); } private void showNotification() { Notification notification = new Notification(R.drawable.newmessage, text, System.currentTimeMillis()); notification.flags = Notification.FLAG_AUTO_CANCEL; PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, nn.class), 0); notification.setLatestEventInfo(this, getText(R.string.), text, contentIntent); mNM.notify(R.string.XX, notification); }
Service类中的Handler中根据具体情况 决定是否调用showNotification()
退出应用的时候要清除掉Notification Destory()中的mNM.cancelAll() 就清空了。
在调用完stopService()后别忘了关掉flag开关,OK了
[3] 拿到会打开指定类型文件的应用程序
来源: 互联网 发布时间: 2014-02-18
拿到能打开指定类型文件的应用程序
如果你要打开其他的媒体资源:video or audio
指定相应的Type即可!
Intent it = new Intent(); it.setType("image/*") List<ResolveInfo> ra = this.getPackageManager().queryIntentActivities(it,0); for(int i=0;i<ra.size();i++){ ActivityInfo ai = ra.get(i).activityInfo; Drawable icon = ai.loadIcon(this.getPackageManager()); //图标 String label = ai.loadLabel(this.getPackageManager()).toString(); //名称 ComponentName c = new ComponentName(ai.applicationInfo.packageName, ai.name); //组件名,可以通过startActivity()打开此应用 }
如果你要打开其他的媒体资源:video or audio
指定相应的Type即可!
最新技术文章: