在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例Android平台开发 → 搜索 WIFI热点 创建WIFI热点

搜索 WIFI热点 创建WIFI热点

Android平台开发

下载此实例
  • 开发语言:Java
  • 实例大小:5.78M
  • 下载次数:30
  • 浏览次数:216
  • 发布时间:2016-03-08
  • 实例类别:Android平台开发
  • 发 布 人:happyhate
  • 文件格式:.zip
  • 所需积分:2
 相关标签: 创建 wifi 搜索WIFI

实例介绍

【实例简介】搜索WIFI 创建WIFI

【实例截图】


【核心代码】

package com.way.wifi;

import java.util.ArrayList;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.ConnectivityManager;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;

import com.netfeige.broadcast.WTBroadcast;
import com.netfeige.display.ui.GifView;
import com.netfeige.display.ui.WTSearchAnimationFrameLayout;
import com.netfeige.wt.WifiAdmin;

public class WTActivity extends Activity implements WTBroadcast.EventHandler {
	public static final int m_nWTSearchTimeOut = 0;// 搜索超时
	public static final int m_nWTScanResult = 1;// 搜索到wifi返回结果
	public static final int m_nWTConnectResult = 2;// 连接上wifi热点
	public static final int m_nCreateAPResult = 3;// 创建热点结果
	public static final int m_nUserResult = 4;// 用户上线人数更新命令(待定)
	public static final int m_nWTConnected = 5;// 点击连接后断开wifi,3.5秒后刷新adapter
	public static final String PACKAGE_NAME = "com.way.wifi";
	public static final String FIRST_OPEN_KEY = "version";
	public static final String WIFI_AP_HEADER = "way_";
	public static final String WIFI_AP_PASSWORD ="way12345";
	
	private WTSearchAnimationFrameLayout m_FrameLWTSearchAnimation;
	private LinearLayout m_LinearLDialog;
	private LinearLayout m_LinearLIntroduction;
	private Button m_btnBack;
	private Button m_btnCancelDialog;
	private Button m_btnConfirmDialog;
	private Button m_btnCreateWT;
	private Button m_btnSearchWT;
	private GifView m_gifRadar;
	private boolean m_isFirstOpen = true;
	private LinearLayout m_linearLCreateAP;
	private ListView m_listVWT;
	ArrayList<ScanResult> m_listWifi = new ArrayList();
	private ProgressBar m_progBarCreatingAP;
	private TextView m_textVContentDialog;
	private TextView m_textVPromptAP;
	private TextView m_textVWTPrompt;
	private WifiAdmin m_wiFiAdmin;
	private CreateAPProcess m_createAPProcess;
	private WTSearchProcess m_wtSearchProcess;
	private int wTOperateEnum = WTOperateEnum.NOTHING;
	private WTAdapter m_wTAdapter;

	public Handler handler = new Handler() {
		public void handleMessage(Message msg) {
			switch (msg.what) {
			case m_nWTSearchTimeOut:
				m_wtSearchProcess.stop();
				m_FrameLWTSearchAnimation.stopAnimation();
				m_listWifi.clear();
				m_textVWTPrompt.setVisibility(View.VISIBLE);
				m_textVWTPrompt.setText(R.string.wt_list_empty);
				break;
			case m_nWTScanResult:
//				m_wtSearchProcess.stop();
//				m_FrameLWTSearchAnimation.stopAnimation();
				m_listWifi.clear();
				int size = m_wiFiAdmin.mWifiManager.getScanResults().size();
				if (size > 0) {
					for (int i = 0; i < size;   i) {
						ScanResult scanResult = m_wiFiAdmin.mWifiManager
								.getScanResults().get(i);
						// Log.i("way", "SSID = "   scanResult.SSID);
						if (scanResult.SSID.startsWith(WIFI_AP_HEADER)) {
							m_listWifi.add(scanResult);
						}
					}
					if (m_listWifi.size() > 0) {
						 m_wtSearchProcess.stop();
						 m_FrameLWTSearchAnimation.stopAnimation();
						m_textVWTPrompt.setVisibility(View.GONE);
						m_wTAdapter.setData(m_listWifi);
						m_wTAdapter.notifyDataSetChanged();
					} 
//					else {
//						m_textVWTPrompt.setVisibility(View.VISIBLE);
//						m_textVWTPrompt.setText(R.string.wt_list_empty);
//					}
//				} else {
//					m_textVWTPrompt.setVisibility(View.VISIBLE);
//					m_textVWTPrompt.setText(R.string.wt_list_empty);
				}
				break;
			case m_nWTConnectResult:
				m_wTAdapter.notifyDataSetChanged();
				break;
			case m_nCreateAPResult:
				m_createAPProcess.stop();
				m_progBarCreatingAP.setVisibility(View.GONE);
				if (((m_wiFiAdmin.getWifiApState() == 3) || (m_wiFiAdmin
						.getWifiApState() == 13))
						&& (m_wiFiAdmin.getApSSID().startsWith(WIFI_AP_HEADER))) {
					m_textVWTPrompt.setVisibility(View.GONE);
					m_linearLCreateAP.setVisibility(View.VISIBLE);
					m_btnCreateWT.setVisibility(View.VISIBLE);
					m_gifRadar.setVisibility(View.VISIBLE);
					m_btnCreateWT.setBackgroundResource(R.drawable.x_ap_close);
					m_textVPromptAP
							.setText(getString(R.string.pre_wt_connect_ok)
									  getString(R.string.middle_wt_connect_ok)
									  m_wiFiAdmin.getApSSID()
									  getString(R.string.suf_wt_connect_ok));
				} else {
					m_btnCreateWT.setVisibility(View.VISIBLE);
					m_btnCreateWT.setBackgroundResource(R.drawable.x_wt_create);
					m_textVPromptAP.setText(R.string.create_ap_fail);
				}
				break;
			case m_nUserResult:
				// 更新用户上线人数,待定
				break;
			case m_nWTConnected:
				m_wTAdapter.notifyDataSetChanged();
				break;
			default:
				break;
			}
		}
	};

	public boolean getWifiApState() {
		try {
			WifiManager localWifiManager = (WifiManager) getSystemService("wifi");
			int i = ((Integer) localWifiManager.getClass()
					.getMethod("getWifiApState", new Class[0])
					.invoke(localWifiManager, new Object[0])).intValue();
			return (3 == i) || (13 == i);
		} catch (Exception localException) {
		}
		return false;
	}

	public boolean isWifiConnect() {
		boolean isConnect = true;
		if (!((ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE))
				.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected())
			isConnect = false;
		return isConnect;
	}

	// 是否为第一次打开应用
	private boolean isFirstOpen() {
		try {
			PackageInfo info = getPackageManager().getPackageInfo(
					PACKAGE_NAME, 0);
			int currentVersion = info.versionCode;
			SharedPreferences prefs = PreferenceManager
					.getDefaultSharedPreferences(this);
			int lastVersion = prefs.getInt(FIRST_OPEN_KEY, 0);
			if (currentVersion > lastVersion) {
				prefs.edit().putInt(FIRST_OPEN_KEY, currentVersion).commit();
				return true;
			}
		} catch (PackageManager.NameNotFoundException e) {
			Log.w("way", e);
		}
		return false;
	}

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.wt_main);
		m_wtSearchProcess = new WTSearchProcess();
		m_createAPProcess = new CreateAPProcess();
		m_wiFiAdmin = WifiAdmin.getInstance(this);
		initView();
	}

	@Override
	protected void onResume() {
		// TODO Auto-generated method stub
		super.onResume();
		if (!m_isFirstOpen)
			init();
	}

	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		WTBroadcast.ehList.remove(this);
	}

	// 初始化view
	private void initView() {
		m_isFirstOpen = isFirstOpen();
		m_LinearLIntroduction = ((LinearLayout) findViewById(R.id.introduction_layout_wt_main));// 介绍使用的view
		m_LinearLIntroduction.setOnClickListener(new OnClickListener() {
			public void onClick(View paramView) {
				m_LinearLIntroduction.setVisibility(View.GONE);
				init();
			}

		});

		m_btnBack = ((Button) findViewById(R.id.back_btn_wt_main));// 返回键
		m_btnBack.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				onBackPressed();
			}
		});

		m_linearLCreateAP = ((LinearLayout) findViewById(R.id.create_ap_llayout_wt_main));// 创建热点的view
		m_progBarCreatingAP = ((ProgressBar) findViewById(R.id.creating_progressBar_wt_main));// 创建热点的进度条
		m_textVPromptAP = ((TextView) findViewById(R.id.prompt_ap_text_wt_main));
		m_btnSearchWT = ((Button) findViewById(R.id.search_btn_wt_main));// 搜索热点按钮
		m_btnSearchWT.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub

				if (!m_wtSearchProcess.running) {// 如果搜索线程没有启动
					if (m_wiFiAdmin.getWifiApState() == 13
							|| m_wiFiAdmin.getWifiApState() == 3) {
						wTOperateEnum = WTOperateEnum.SEARCH;
						m_LinearLDialog.setVisibility(View.VISIBLE);
						m_textVContentDialog.setText(R.string.opened_ap_prompt);
						return;
					}
					if (!m_wiFiAdmin.mWifiManager.isWifiEnabled()) {// 如果wifi打开着的
						m_wiFiAdmin.OpenWifi();
					}
					m_textVWTPrompt.setVisibility(View.VISIBLE);
					m_textVWTPrompt.setText(R.string.wt_searching);
					m_linearLCreateAP.setVisibility(View.GONE);
					m_gifRadar.setVisibility(View.GONE);
					m_btnCreateWT.setBackgroundResource(R.drawable.x_wt_create);
					m_wiFiAdmin.startScan();
					m_wtSearchProcess.start();
					m_FrameLWTSearchAnimation.startAnimation();
				} else {
					//重新启动一下
					m_wtSearchProcess.stop();
					m_wiFiAdmin.startScan();
					m_wtSearchProcess.start();
				}
			}
		});
		m_btnCreateWT = ((Button) findViewById(R.id.create_btn_wt_main));// 创建热点的按钮
		m_btnCreateWT.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				if (m_wiFiAdmin.getWifiApState() == 4) {
					Toast.makeText(getApplicationContext(),
							R.string.not_create_ap, Toast.LENGTH_SHORT).show();
					return;
				}
				if (m_wiFiAdmin.mWifiManager.isWifiEnabled()) {
					wTOperateEnum = WTOperateEnum.CREATE;
					m_LinearLDialog.setVisibility(View.VISIBLE);
					m_textVContentDialog.setText(R.string.close_wifi_prompt);
					return;
				}

				if (((m_wiFiAdmin.getWifiApState() == 3) || (m_wiFiAdmin
						.getWifiApState() == 13))
						&& (!m_wiFiAdmin.getApSSID().startsWith(WIFI_AP_HEADER))) {
					wTOperateEnum = WTOperateEnum.CREATE;
					m_LinearLDialog.setVisibility(View.VISIBLE);
					m_textVContentDialog.setText(R.string.ap_used);
					return;
				}
				if (((m_wiFiAdmin.getWifiApState() == 3) || (m_wiFiAdmin
						.getWifiApState() == 13))
						&& (m_wiFiAdmin.getApSSID().startsWith(WIFI_AP_HEADER))) {
					wTOperateEnum = WTOperateEnum.CLOSE;
					m_LinearLDialog.setVisibility(View.VISIBLE);
					m_textVContentDialog.setText(R.string.close_ap_prompt);
					return;
				}
				if (m_wtSearchProcess.running) {
					m_wtSearchProcess.stop();
					m_FrameLWTSearchAnimation.stopAnimation();
				}
				m_wiFiAdmin.closeWifi();
				m_wiFiAdmin.createWiFiAP(
						m_wiFiAdmin.createWifiInfo(WIFI_AP_HEADER
								  getLocalHostName(), WIFI_AP_PASSWORD, 3, "ap"),
						true);
				m_createAPProcess.start();
				m_listWifi.clear();
				m_wTAdapter.setData(m_listWifi);
				m_wTAdapter.notifyDataSetChanged();
				m_linearLCreateAP.setVisibility(View.VISIBLE);
				m_progBarCreatingAP.setVisibility(View.VISIBLE);
				m_btnCreateWT.setVisibility(View.GONE);
				m_textVWTPrompt.setVisibility(View.GONE);
				m_textVPromptAP.setText(getString(R.string.creating_ap));
			}
		});
		m_FrameLWTSearchAnimation = ((WTSearchAnimationFrameLayout) findViewById(R.id.search_animation_wt_main));// 搜索时的动画
		m_listVWT = ((ListView) findViewById(R.id.wt_list_wt_main));// 搜索到的热点listView
		m_wTAdapter = new WTAdapter(this, m_listWifi);
		m_listVWT.setAdapter(m_wTAdapter);

		m_textVWTPrompt = (TextView) findViewById(R.id.wt_prompt_wt_main);
		m_gifRadar = (GifView) findViewById(R.id.radar_gif_wt_main);

		m_LinearLDialog = (LinearLayout) findViewById(R.id.dialog_layout_wt_main);
		m_textVContentDialog = (TextView) findViewById(R.id.content_text_wtdialog);
		m_btnConfirmDialog = (Button) findViewById(R.id.confirm_btn_wtdialog);
		m_btnCancelDialog = (Button) findViewById(R.id.cancel_btn_wtdialog);
		// 弹出对话框的确认按钮事件
		m_btnConfirmDialog.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				m_LinearLDialog.setVisibility(View.GONE);
				switch (wTOperateEnum) {
				case WTOperateEnum.CLOSE:
					m_textVWTPrompt.setVisibility(View.VISIBLE);
					m_textVWTPrompt.setText("");
					m_linearLCreateAP.setVisibility(View.GONE);
					m_btnCreateWT.setBackgroundResource(R.drawable.x_wt_create);
					m_gifRadar.setVisibility(View.GONE);
					m_wiFiAdmin.createWiFiAP(m_wiFiAdmin.createWifiInfo(
							m_wiFiAdmin.getApSSID(), "81028066", 3, "ap"),
							false);

					m_wiFiAdmin.OpenWifi();
					m_wtSearchProcess.start();
					m_wiFiAdmin.startScan();
					m_FrameLWTSearchAnimation.startAnimation();
					m_textVWTPrompt.setVisibility(View.VISIBLE);
					m_textVWTPrompt.setText(R.string.wt_searching);
					m_linearLCreateAP.setVisibility(View.GONE);
					m_btnCreateWT.setBackgroundResource(R.drawable.x_wt_create);
					break;
				case WTOperateEnum.CREATE:
					if (m_wtSearchProcess.running) {
						m_wtSearchProcess.stop();
						m_FrameLWTSearchAnimation.stopAnimation();
					}
					m_wiFiAdmin.closeWifi();
					m_wiFiAdmin.createWiFiAP(
							m_wiFiAdmin.createWifiInfo(WIFI_AP_HEADER
									  getLocalHostName(), WIFI_AP_PASSWORD, 3, "ap"),
							true);
					m_createAPProcess.start();
					m_listWifi.clear();
					m_wTAdapter.setData(m_listWifi);
					m_wTAdapter.notifyDataSetChanged();
					m_linearLCreateAP.setVisibility(View.VISIBLE);
					m_progBarCreatingAP.setVisibility(View.VISIBLE);
					m_btnCreateWT.setVisibility(View.GONE);
					m_textVWTPrompt.setVisibility(View.GONE);
					m_textVPromptAP.setText(getString(R.string.creating_ap));
					break;
				case WTOperateEnum.SEARCH:
					m_textVWTPrompt.setVisibility(View.VISIBLE);
					m_textVWTPrompt.setText(R.string.wt_searching);
					m_linearLCreateAP.setVisibility(View.GONE);
					m_btnCreateWT.setVisibility(View.VISIBLE);
					m_btnCreateWT.setBackgroundResource(R.drawable.x_wt_create);
					m_gifRadar.setVisibility(View.GONE);
					if (m_createAPProcess.running)
						m_createAPProcess.stop();
					m_wiFiAdmin.createWiFiAP(m_wiFiAdmin.createWifiInfo(
							m_wiFiAdmin.getApSSID(), WIFI_AP_PASSWORD, 3, "ap"),
							false);
					m_wiFiAdmin.OpenWifi();
					m_wtSearchProcess.start();
					m_FrameLWTSearchAnimation.startAnimation();
					break;
				default:
					break;
				}

			}
		});
		// 弹出对话框取消按钮事件
		m_btnCancelDialog.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				m_LinearLDialog.setVisibility(View.GONE);
			}
		});

		WTBroadcast.ehList.add(this);// 监听广播
		if (m_isFirstOpen)
			m_LinearLIntroduction.setVisibility(View.VISIBLE);
	}

	public String getLocalHostName() {
		String str1 = Build.BRAND;
		String str2 = Build.MODEL;
		if (-1 == str2.toUpperCase().indexOf(str1.toUpperCase()))
			str2 = str1   "_"   str2;
		return str2;
	}

	// 初始化
	private void init() {
		// TODO Auto-generated method stub
		if ((this.m_wtSearchProcess.running)
				|| (this.m_createAPProcess.running))
			return;

		if (!isWifiConnect() && !getWifiApState()) {
			m_wiFiAdmin.OpenWifi();
			m_wtSearchProcess.start();
			m_wiFiAdmin.startScan();
			m_FrameLWTSearchAnimation.startAnimation();
			m_textVWTPrompt.setVisibility(View.VISIBLE);
			m_textVWTPrompt.setText(R.string.wt_searching);
			m_linearLCreateAP.setVisibility(View.GONE);
			m_btnCreateWT.setBackgroundResource(R.drawable.x_wt_create);
		}
		if (isWifiConnect()) {
			this.m_wiFiAdmin.startScan();
			this.m_wtSearchProcess.start();
			this.m_FrameLWTSearchAnimation.startAnimation();
			this.m_textVWTPrompt.setVisibility(0);
			this.m_textVWTPrompt.setText(R.string.wt_searching);
			this.m_linearLCreateAP.setVisibility(8);
			this.m_btnCreateWT.setBackgroundResource(R.drawable.x_wt_create);
			this.m_gifRadar.setVisibility(8);
			m_listWifi.clear();
			if (m_wiFiAdmin.mWifiManager.getScanResults() != null) {
				int result = m_wiFiAdmin.mWifiManager.getScanResults().size();
				int i = 0;
				for (i = 0; i < result;   i) {
					if (m_wiFiAdmin.mWifiManager.getScanResults().get(i).SSID
							.startsWith(WIFI_AP_HEADER))
						m_listWifi.add(m_wiFiAdmin.mWifiManager
								.getScanResults().get(i));
				}
				Log.i("way", "wifi size:"
						  m_wiFiAdmin.mWifiManager.getScanResults().size());
			}
			m_wTAdapter.setData(m_listWifi);
			m_wTAdapter.notifyDataSetChanged();

		}

		if (getWifiApState()) {
			if (m_wiFiAdmin.getApSSID().startsWith(WIFI_AP_HEADER)) {
				m_textVWTPrompt.setVisibility(View.GONE);
				m_linearLCreateAP.setVisibility(View.VISIBLE);
				m_progBarCreatingAP.setVisibility(View.GONE);
				m_btnCreateWT.setVisibility(View.VISIBLE);
				m_gifRadar.setVisibility(View.VISIBLE);
				m_btnCreateWT.setBackgroundResource(R.drawable.x_ap_close);
				m_textVPromptAP.setText(getString(R.string.pre_wt_connect_ok)
						  getString(R.string.middle_wt_connect_ok)
						  m_wiFiAdmin.getApSSID()
						  getString(R.string.suf_wt_connect_ok));
			}
		}
	}

	@Override
	public void handleConnectChange() {
		// TODO Auto-generated method stub
		Message msg = handler.obtainMessage(m_nWTConnectResult);
		handler.sendMessage(msg);
//		 handler.sendEmptyMessageDelayed(m_nWTConnectResult, 2000L);
	}

	@Override
	public void scanResultsAvailable() {
		// TODO Auto-generated method stub
		Message msg = handler.obtainMessage(m_nWTScanResult);
		handler.sendMessage(msg);
//		handler.sendEmptyMessageDelayed(m_nWTScanResult, 2000L);
	}

	@Override
	public void wifiStatusNotification() {
		// TODO Auto-generated method stub
		m_wiFiAdmin.mWifiManager.getWifiState();
	}

	class CreateAPProcess implements Runnable {
		public boolean running = false;
		private long startTime = 0L;
		private Thread thread = null;

		CreateAPProcess() {
		}

		public void run() {
			while (true) {
				if (!this.running)
					return;
				if ((m_wiFiAdmin.getWifiApState() == 3)
						|| (m_wiFiAdmin.getWifiApState() == 13)
						|| (System.currentTimeMillis() - this.startTime >= 30000L)) {
					Message msg = handler.obtainMessage(m_nCreateAPResult);
					handler.sendMessage(msg);
				}
				try {
					Thread.sleep(5L);
				} catch (Exception localException) {
				}
			}
		}

		public void start() {
			try {
				thread = new Thread(this);
				running = true;
				startTime = System.currentTimeMillis();
				thread.start();
			} finally {
			}
		}

		public void stop() {
			try {
				this.running = false;
				this.thread = null;
				this.startTime = 0L;
			} finally {
			}
		}
	}

	class WTSearchProcess implements Runnable {
		public boolean running = false;
		private long startTime = 0L;
		private Thread thread = null;

		WTSearchProcess() {
		}

		public void run() {
			while (true) {
				if (!this.running)
					return;
				if (System.currentTimeMillis() - this.startTime >= 30000L) {
					// Message localMessage = Message.obtain(handler);
					// localMessage.what = 0;
					// localMessage.sendToTarget();
					Message msg = handler.obtainMessage(m_nWTSearchTimeOut);
					handler.sendMessage(msg);
				}
				try {
					Thread.sleep(10L);
				} catch (Exception localException) {
				}
			}
		}

		public void start() {
			try {
				this.thread = new Thread(this);
				this.running = true;
				this.startTime = System.currentTimeMillis();
				this.thread.start();
			} finally {
			}
		}

		public void stop() {
			try {
				this.running = false;
				this.thread = null;
				this.startTime = 0L;
			} finally {
			}
		}
	}
}

实例下载地址

搜索 WIFI热点 创建WIFI热点

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

第 1 楼 雪糕 发表于: 2016-03-16 17:32 07
为什么不起作用,搜索不到。

支持(0) 盖楼(回复)

发表评论

(您的评论需要经过审核才能显示)

查看所有1条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警