流量模式选择
来源:互联网 发布:注册中文域名多少钱 编辑:程序博客网 时间:2024/06/06 17:40
public class MainActivity extends AppCompatActivity { private Mybrod mybrod; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); IntentFilter filter = new IntentFilter(); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); mybrod = new MainActivity.Mybrod(); registerReceiver(mybrod, filter); } public void Onclick(View view){ String [] arr={ "最佳效果", "较省流量", "极省流量" }; int mode = Myapp.getmyappcontext().getSharedPreferences(NetUtils.SP_NAME, Context.MODE_PRIVATE).getInt(NetUtils.SP_NAME_KEY, 0); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("非wifi网络流量"); builder.setSingleChoiceItems(arr, mode, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Myapp.getmyappcontext().getSharedPreferences(NetUtils.SP_NAME,MODE_PRIVATE).edit().putInt(NetUtils.SP_NAME_KEY,which).commit(); dialog.dismiss(); } }); builder.setNegativeButton("取消",null); builder.create().show(); } public class Mybrod extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (ConnectivityManager.CONNECTIVITY_ACTION.equals(intent.getAction())) { boolean isMobile=true; ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = manager.getActiveNetworkInfo(); if (networkInfo != null && networkInfo.isConnected()) { if (ConnectivityManager.TYPE_WIFI==networkInfo.getType()){ Toast.makeText(MainActivity.this, "wifi状态", Toast.LENGTH_SHORT).show(); isMobile=true; }else if (ConnectivityManager.TYPE_MOBILE==networkInfo.getType()){ Toast.makeText(MainActivity.this, "处于移动网络", Toast.LENGTH_SHORT).show(); isMobile=false; }else { Toast.makeText(MainActivity.this, "网络不可用", Toast.LENGTH_SHORT).show(); } }else { Toast.makeText(MainActivity.this, "网络不可用", Toast.LENGTH_SHORT).show(); } NetUtils.getInstance().ChangeNetMode(isMobile); } } } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(mybrod); }}//去清单文件注册public class Myapp extends Application { private static Myapp myapp; @Override public void onCreate() { super.onCreate(); myapp=this; } public static Context getmyappcontext(){ return myapp; }}public class NetUtils { public static final String SP_NAME="SP_NAME"; public static final String SP_NAME_KEY="SP_NAME_KEY"; public static final String MODE_BIG="SP_NAME_KEY"; public static final String MODE_SMALL="SP_NAME_KEY"; public static final String MODE_NO="SP_NAME_KEY"; private boolean isMobile=true; private String MODE_USER=MODE_BIG; private static NetUtils mNetUtils; private NetUtils(){ } public static NetUtils getInstance() { if (mNetUtils == null) { synchronized (NetUtils.class) { if (mNetUtils == null) { mNetUtils = new NetUtils(); } } } return mNetUtils; } public String getBASE_URL(){ if (isMobile){ int mode = Myapp.getmyappcontext().getSharedPreferences(SP_NAME, Context.MODE_PRIVATE).getInt(SP_NAME_KEY, 0); switch (mode){ case 0: MODE_USER=MODE_BIG; break; case 1: MODE_USER=MODE_SMALL; break; case 2: MODE_USER=MODE_NO; break; } }else { MODE_USER=MODE_BIG; } return MODE_USER; } public void ChangeNetMode(boolean isMobile){ this.isMobile=isMobile; }}
//必须添加权限<uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
阅读全文
1 0
- 流量模式选择
- 计算网站流量,选择适合带宽或月流量
- 运营商的流量经营模式
- 下载图片省流量模式
- ImageLoader的省流量模式
- DDoS流量清洗解决方案选择七大误区
- 0728-Java流量控制 选择结构
- 移动互联网流量变现模式调研问卷
- Android 开启gps, 数据流量, 飞行模式.
- 网站建设如何选择关键词以提高流量
- 提高精密流量与搜索引擎优化的4种选择
- 正确选择长尾关键词 提升网站定向流量
- 怎么选择设计模式
- SQL2000选择授权模式
- 拾取之选择模式
- opengl的选择模式
- OpenGL 的选择模式
- IO模式的选择
- 解题报告:HDU_6102 GCDispower (离线处理+莫比乌斯反演)
- ubuntu系统下安装python3
- Java中参数的传递
- 余弦相似度的计算——C++
- pip安装使用详解(转)
- 流量模式选择
- 微信小程序flex布局
- go语言的模板,text/template包
- 递归函数
- DVWA笔记之二:Command Injection
- Laravel5.1-邮件发送
- UVA 1152 4 Values whose Sum is 0
- nohup: failed to run command `java': No such file or directory
- PHP调用VC编写的COM组件实例