精华内容
下载资源
问答
  • 主要介绍了Hook实现Android 微信、陌陌 、探探位置模拟(附源码下载)的相关资料,需要的朋友可以参考下
  • android 模拟位置信息Location使用示例

    万次阅读 2017-06-01 23:06:57
    android 自带location除了可以输出gps的经纬度信息,还可以...本文的源码下载:http://download.csdn.net/detail/qq_16064871/98570361,开启传入location信息先打开系统本机的gps,然后去开发者选项里打开模拟位置服务

    android 自带location除了可以输出gps的经纬度信息,还可以进行传入location数据,进行模拟输出。输出模拟的位置信息可以在同一个应用程序,也可以给其他应用app使用。

    本文的源码下载:http://download.csdn.net/detail/qq_16064871/9857036

    1,开启传入location信息

    先打开系统本机的gps,然后去开发者选项里打开模拟位置服务

        //打开GPS设置
        public void OpenGpsSettingEvent() {
            Intent callGPSSettingIntent = new Intent(
                    android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
            mContext.startActivity(callGPSSettingIntent);
        }

        //打开开发者模式
        public void openTestProviderLocationException() {
            Intent intent = new Intent("//");
            ComponentName cm = new ComponentName("com.android.settings", "com.android.settings.DevelopmentSettings");
            intent.setComponent(cm);
            intent.setAction("android.intent.action.VIEW");
            mContext.startActivity(intent);
        }



    添加模拟数据      mLocationManager.setTestProviderStatus(LocationManager.GPS_PROVIDER, 100, bundle, System.currentTimeMillis());其中100是自定义的标志位,也可以携带自定义的bundle数据。

        //启动模拟位置服务
        public boolean initLocation() {
            mLocationManager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
            if (!mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
                return false;
            }
            try {
                //如果未开启模拟位置服务,则添加模拟位置服务
                mLocationManager.addTestProvider(LocationManager.GPS_PROVIDER, false, false, false, false, true, true, true, 0, 5);
                mLocationManager.setTestProviderEnabled(LocationManager.GPS_PROVIDER, true);
    
            } catch (Exception e) {
                return false;
            }
            return true;
        }
    
        //停止模拟位置服务
        public void stopMockLocation() {
            mbUpdate = false;
    
            if (mLocationManager != null) {
                try {
                    mLocationManager.clearTestProviderEnabled(LocationManager.GPS_PROVIDER);
                    mLocationManager.removeTestProvider(LocationManager.GPS_PROVIDER);
                } catch (Exception e) {
                    Log.e("GPS", e.toString());
                }
            }
        }
    
        private Bundle bundle = new Bundle();
        double testData = 0.0;
    
        public void asynTaskUpdateCallBack() {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    while (mbUpdate) {
    
                        //测试的location数据
                        mlocation.setLongitude(testData++);
                        mlocation.setLatitude(testData++);
                        mlocation.setAltitude(testData++);
                        mlocation.setTime(System.currentTimeMillis());
                        mlocation.setBearing((float) 1.2);
                        mlocation.setSpeed((float) 1.2);
                        mlocation.setAccuracy((float) 1.2);
    
                        //额外的自定义数据,使用bundle来传递
                        bundle.putString("test1", "666");
                        bundle.putString("test2", "66666");
                        mlocation.setExtras(bundle);
                        try {
                            if (android.os.Build.VERSION.SDK_INT >= 17)
                                mlocation.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());
                            mLocationManager.setTestProviderStatus(LocationManager.GPS_PROVIDER, 100, bundle, System.currentTimeMillis());
                            mLocationManager.setTestProviderLocation(LocationManager.GPS_PROVIDER, mlocation);
    
                            Thread.sleep(1000);
                        } catch (Exception e) {
                            return;
                        }
                    }
    
                }
            }).start();
        }




    2,获取模拟location数据

    模拟location数据跟一般的location数据获取,以及初始化时一样的。唯一不同的是 onStatusChanged("gps", 100, mlocal.getExtras());这个方法使用。

    package com.example.gpslocationdemo;
    
    import android.annotation.TargetApi;
    import android.content.Context;
    import android.location.GpsStatus;
    import android.location.Location;
    import android.location.LocationListener;
    import android.location.LocationManager;
    import android.os.Build;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.widget.TextView;
    
    public class LocationTestActivity extends AppCompatActivity {
        LocationManager mLocationManager;
        Location mlocation;
        TextView mTextView;
        TextView mTextView2;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_location_test);
    
            mTextView = (TextView) findViewById(R.id.textView1);
            mTextView2 = (TextView) findViewById(R.id.textView2);
    
            getLocation();
        }
    
        public Location getLocation() {
            mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
            if (mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
                mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mLocationListener);
                mLocationManager.addNmeaListener(mNmeaListener);
            }
    
            return mlocation;
        }
    
    
        //这里获取的数据就是在之前一个activity写进去的数据
        LocationListener mLocationListener = new LocationListener() {
            //这个数据是经过LocationManager
            @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
            @Override
            public void onLocationChanged(Location mlocal) {
                if (mlocal == null) return;
                String strResult = "getAccuracy:" + mlocal.getAccuracy() + "\r\n"
                        + "getAltitude:" + mlocal.getAltitude() + "\r\n"
                        + "getBearing:" + mlocal.getBearing() + "\r\n"
                        + "getElapsedRealtimeNanos:" + String.valueOf(mlocal.getElapsedRealtimeNanos()) + "\r\n"
                        + "getLatitude:" + mlocal.getLatitude() + "\r\n"
                        + "getLongitude:" + mlocal.getLongitude() + "\r\n"
                        + "getProvider:" + mlocal.getProvider() + "\r\n"
                        + "getSpeed:" + mlocal.getSpeed() + "\r\n"
                        + "getTime:" + mlocal.getTime() + "\r\n";
                Log.i("Show", strResult);
                if (mTextView != null) {
                    mTextView.setText(strResult);
                }
    
                onStatusChanged("gps", 100, mlocal.getExtras());
            }
    
            @Override
            public void onProviderDisabled(String arg0) {
            }
    
            @Override
            public void onProviderEnabled(String arg0) {
            }
    
            @Override
            public void onStatusChanged(String provider, int event, Bundle extras) {
                if (event ==100){
                    String strResult = extras.getString("test1","") +"\n" +
                    extras.getString("test2","");
    
                    if (mTextView2 != null) {
                        mTextView2.setText(strResult);
                    }
                }
    
            }
        };
    
        //原始数据监听
        GpsStatus.NmeaListener mNmeaListener = new GpsStatus.NmeaListener() {
            @Override
            public void onNmeaReceived(long arg0, String arg1) {
                byte[] bytes = arg1.getBytes();
            }
        };
    
        @Override
        protected void onDestroy() {
            super.onDestroy();
            if (mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
                mLocationManager.removeNmeaListener(mNmeaListener);
                mLocationManager.removeUpdates(mLocationListener);
            }
        }
    }


    正常获取location数据可参考:android 自带gps定位Location相关知识



    3,权限

        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>


    4,附上部分location的sdk源码

        // --- Mock provider support ---
        // TODO: It would be fantastic to deprecate mock providers entirely, and replace
        // with something closer to LocationProviderBase.java
    
        /**
         * Creates a mock location provider and adds it to the set of active providers.
         *
         * @param name the provider name
         *
         * @throws SecurityException if {@link android.app.AppOpsManager#OPSTR_MOCK_LOCATION
         * mock location app op} is not set to {@link android.app.AppOpsManager#MODE_ALLOWED
         * allowed} for your app.
         * @throws IllegalArgumentException if a provider with the given name already exists
         */
        public void addTestProvider(String name, boolean requiresNetwork, boolean requiresSatellite,
                boolean requiresCell, boolean hasMonetaryCost, boolean supportsAltitude,
                boolean supportsSpeed, boolean supportsBearing, int powerRequirement, int accuracy) {
            ProviderProperties properties = new ProviderProperties(requiresNetwork,
                    requiresSatellite, requiresCell, hasMonetaryCost, supportsAltitude, supportsSpeed,
                    supportsBearing, powerRequirement, accuracy);
            if (name.matches(LocationProvider.BAD_CHARS_REGEX)) {
                throw new IllegalArgumentException("provider name contains illegal character: " + name);
            }
    
            try {
                mService.addTestProvider(name, properties, mContext.getOpPackageName());
            } catch (RemoteException e) {
                Log.e(TAG, "RemoteException", e);
            }
        }

        


    展开全文
  • 测试手机模拟位置

    千次阅读 2014-12-01 16:18:49
    2.在手机设置中,添加 模拟位置。 工作流程: 点击下载demo 下面是关键代码: public class NetUtils { /** * 获取外网地址 * * @return */ public static IpBean GetNetIp() { IpBean bean

    准备:

    1.添加访问权限:

    <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />

    2.在手机设置中,"开发人员选项"-->"允许模拟地点"。


    工作流程:


    点击下载demo

    3.下面是关键代码:

    public class NetUtils {
    	/**
    	 * 获取外网地址
    	 * 
    	 * @return
    	 */
    	public static IpBean GetNetIp() {
    		IpBean bean = new IpBean();
    		try {
    			// 访问外网ip
    			String address = "http://ip.taobao.com/service/getIpInfo2.php?ip=myip";
    			URL url = new URL(address);
    			HttpURLConnection connection = (HttpURLConnection) url
    					.openConnection();
    			connection.setUseCaches(false);
    
    			if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
    				InputStream in = connection.getInputStream();
    
    				// 将流转化为字符串
    				BufferedReader reader = new BufferedReader(
    						new InputStreamReader(in));
    
    				String tmpString = "";
    				StringBuilder retJSON = new StringBuilder();
    				while ((tmpString = reader.readLine()) != null) {
    					retJSON.append(tmpString + "\n");
    				}
    
    				// {"data":{"city_id":"510100","region":"四川省","area_id":"500000","area":"西南","county":"","isp":"电信","county_id":"-1","country_id":"CN","region_id":"510000","ip":"218.88.4.195","isp_id":"100017","city":"成都市","country":"中国"},"code":0}
    				JSONObject jsonObject = new JSONObject(retJSON.toString());
    				String code = jsonObject.getString("code");
    				if (code.equals("0")) {
    					JSONObject data = jsonObject.getJSONObject("data");
    					bean.setInfo(data.getString("ip") + "("
    							+ data.getString("country")
    							+ data.getString("area") + "区"
    							+ data.getString("region") + data.getString("city")
    							+ data.getString("isp") + ")");
    					bean.setCity(data.getString("city"));
    					bean.setIp(data.getString("ip"));
    					return bean;
    				} else {
    					Log.e("提示", "IP接口异常,无法获取IP地址!");
    				}
    			} else {
    				Log.e("提示", "网络连接异常,无法获取IP地址!");
    			}
    		} catch (Exception e) {
    			Log.e("提示", "获取IP地址时出现异常,异常信息是:" + e.toString());
    		}
    
    		return null;
    	}
    
    	/**
    	 * 获取城市经纬度
    	 * 
    	 * @param city
    	 * @return
    	 */
    	public static LatLonBean GetNetGps(String city) {
    		LatLonBean bean = new LatLonBean();
    		bean.setCity(city);
    		try {
    			// 阿里云接口
    			String address = "http://gc.ditu.aliyun.com/geocoding?a="
    					+ Uri.encode(city, "utf-8");
    			URL url = new URL(address);
    			HttpURLConnection connection = (HttpURLConnection) url
    					.openConnection();
    			connection.setUseCaches(false);
    			if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
    				InputStream in = connection.getInputStream();
    
    				// 将流转化为字符串
    				BufferedReader reader = new BufferedReader(
    						new InputStreamReader(in));
    
    				String tmpString = "";
    				StringBuilder retJSON = new StringBuilder();
    				while ((tmpString = reader.readLine()) != null) {
    					retJSON.append(tmpString + "\n");
    				}
    
    				JSONObject jsonObject = new JSONObject(retJSON.toString());
    				String lon = jsonObject.getString("lon");
    				String lat = jsonObject.getString("lat");
    				bean.setLon(lon);
    				bean.setLat(lat);
    				return bean;
    
    			}
    		} catch (Exception e) {
    		}
    		return null;
    	}
    
    	/**
    	 * 改变经纬度
    	 * 
    	 * @param bean
    	 * @return
    	 */
    	public static LatLonBean changeLatLon(LatLonBean bean) {
    		int m1 = (int) (Math.random() * 1000000);
    		int m2 = (int) (Math.random() * 1000000);
    
    		// 30.51723
    		String lat = bean.getLat();
    		bean.setLat(lat.substring(0, lat.indexOf(".") + 1) + m1);
    		// 104.04987
    		String lon = bean.getLon();
    		bean.setLon(lon.substring(0, lon.indexOf(".") + 1) + m2);
    
    		// bean.setLat("39.9084974220");
    		// bean.setLon("116.3974337341");
    		return bean;
    	}
    
    	/**
    	 * 模拟经纬度
    	 * 
    	 * @param context
    	 * @param bean
    	 */
    	@SuppressLint("NewApi")
    	public static void setLocation(Context context, LatLonBean bean) {
    		LocationManager locmanag = (LocationManager) context
    				.getSystemService(Context.LOCATION_SERVICE);
    		String mock = LocationManager.GPS_PROVIDER;
    
    		locmanag.addTestProvider(mock, false, true, false, false, false, false,
    				false, 0, 5);
    		locmanag.setTestProviderEnabled(mock, true);
    
    		Location loc = new Location(mock);
    		loc.setTime(System.currentTimeMillis());
    		loc.setLatitude(Double.parseDouble(bean.getLat()));
    		loc.setLongitude(Double.parseDouble(bean.getLon()));
    
    		// 下面这两句很关键
    		loc.setAccuracy(Criteria.ACCURACY_FINE);// 精确度
    		loc.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());// 实时运行时间
    		locmanag.setTestProviderStatus(mock, LocationProvider.AVAILABLE, null,
    				System.currentTimeMillis());
    		locmanag.setTestProviderLocation(mock, loc);
    	}
    }

    界面上绑定服务:

    // 保持启动的binder对象
    	LocBinder locBinder;
    	// 定义服务连接对象
    	ServiceConnection conn = new ServiceConnection() {
    		// 当活动与服务连接断开时,回调该方法
    		@Override
    		public void onServiceDisconnected(ComponentName name) {
    			// TODO Auto-generated method stub
    			Log.d("Main", "断开连接");
    		}
    
    		// 当活动与服务连接成功时,回调该方法
    		@Override
    		public void onServiceConnected(ComponentName name, IBinder service) {
    			// TODO Auto-generated method stub
    			// 获取onbind()放回的对象
    			locBinder = (LocBinder) service;
    		}
    	};

    服务中开启线程,不断的刷新位置:

    public class LocService extends Service {
    	private LatLonBean bean = new LatLonBean();
    	private LocBinder locBinder = new LocBinder();
    
    	@Override
    	public IBinder onBind(Intent intent) {
    		// TODO Auto-generated method stub
    		return locBinder;
    	}
    
    	@Override
    	public void onCreate() {
    		// TODO Auto-generated method stub
    		super.onCreate();
    		send();
    	}
    
    	public void send() {
    		new Thread() {
    			public void run() {
    				while (true) {
    					try {
    						Thread.sleep(100);
    					} catch (InterruptedException e) {
    						// TODO Auto-generated catch block
    						e.printStackTrace();
    					}
    					if (null != bean && null != bean.getLat()) {
    						NetUtils.setLocation(LocService.this, bean);
    					}
    				}
    			};
    		}.start();
    	}
    
    	class LocBinder extends Binder {
    		public void setBean(LatLonBean bean) {
    			LocService.this.bean = bean;
    		}
    	}
    }

    运行效果:


    注意:

    1.


    少了对精确度和实时的设置,添加进去就可以了。

    	loc.setAccuracy(Criteria.ACCURACY_FINE);// 精确度
    		loc.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());// 实时运行时间

    2.手机获取外网的位置,要通过访问外网,否则就是局域网的地址了。

      try {  
      
                for (Enumeration<NetworkInterface> en = NetworkInterface  
      
                .getNetworkInterfaces(); en.hasMoreElements();) {  
      
                    NetworkInterface intf = en.nextElement();  
      
                    for (Enumeration<InetAddress> ipAddr = intf.getInetAddresses(); ipAddr  
      
                    .hasMoreElements();) {  
      
                        InetAddress inetAddress = ipAddr.nextElement();  
                        // ipv4地址  
                        if (!inetAddress.isLoopbackAddress()  
                                && InetAddressUtils.isIPv4Address(inetAddress  
                                        .getHostAddress())) {  
      
                            return inetAddress.getHostAddress();  
      
                        }  
      
                    }  
      
                }  
      
            } catch (Exception ex) {  
      
            } 

    WiFi测试时,是连接路由器的局域网ip位置。手机测试也是局域网,类似10.48.92.102。

    展开全文
  • 安卓模拟位置之夜神模拟器

    千次阅读 2017-02-06 13:01:28
    夜神安卓模拟器是一个可以让手机应用程序运行在电脑上的软件 ,由夜神团队于2015年6月份推出。夜神安卓模拟器 ,电脑玩手游的新...1. 下载夜神模拟器并安装百度下载夜神模拟器,按提示安装。2. 设置夜神模拟器3. 安装

    夜神安卓模拟器是一个可以让手机应用程序运行在电脑上的软件 ,由夜神团队于2015年6月份推出。夜神安卓模拟器 ,电脑玩手游的新一代神器,夜神安卓模拟器是一款采用类手机界面视觉设计的PC端桌面软件,采用内核技术(基于Android5.1.1版本内核针在电脑上运行深度开发),具有同类模拟器中领先运行速度和稳定的性能。

    1. 下载夜神模拟器并安装

    百度下载夜神模拟器,按提示安装。

    2. 设置夜神模拟器

    这里写图片描述

    3. 安装安卓应用

    这里写图片描述

    可以点击上图中方框里的选项安装或者将apk文件拖至夜神模拟器(即使在打开的应用界面也行,比如在QQ界面)安装。

    4. 模拟位置

    点击下图方框中的选项进行模拟位置,点击后会弹出一个窗口,输入位置名称或者经纬度,然后点击定位到这里,想换地点再次输入定位即可。

    这里写图片描述

    这里写图片描述

    吐槽一下,模拟位置到北京后QQ出行会说欢迎来到北京,给你报天气,讲附近有什么好玩的等,然而去模拟到别的城市就不会提醒

    这里写图片描述

    开启模拟位置,AR红包肆意抢

    这里写图片描述
    这里写图片描述
    这里写图片描述

    模拟位置比较好的软件还有天下任我行(试用5小时),神行者,模拟位置(Xposed模块)。手机上模拟位置需开启允许虚拟位置,小米手机在设置的开发者选项里,其他手机请自行百度。

    天下任我行使用方法:

    天下任我行推荐在模拟器里玩,因为它只能试用5小时,而且它会记住手机串号,也就是说你卸载重装是不行的,但是可以用应用变量这个Xposed模块修改手机串号,或者用夜神模拟器自带的也行,修改完成后卸载重装又可试用5小时。

    这里写图片描述

    点击上图中的创建按钮即可自动修改手机串号,顺便说一下属性设置里可以修改手机型号,修改完成后重启安卓系统生效。

    这里写图片描述

    5. 夜神模拟器安装Xposed框架

    参考上两篇博客~

    6. 夜神多开器

    点击下图方框选项,设置夜神多开器。

    这里写图片描述

    点击后会弹出如下窗口:

    这里写图片描述

    点击添加模拟器后按提示添加,可以添加模拟器副本或者全新模拟器,模拟器副本就是你如果安装了QQ,Xposed框架等软件,创建了副本后那些软件还会在,如果是添加了全新的模拟器,自己安装的软件就不在了。

    展开全文
  • 要求:左侧三个按钮,点击按钮会出现相应的文字信息和下载图标,实现下载文件的功能(实现模拟下载功能,被下载的文件存储在本地)。 先看到三个按钮的位置: 因为在这里是三个按钮轮流切换,所以在后台写了一个...

    要求:左侧三个按钮,点击按钮会出现相应的文字信息和下载图标,实现下载文件的功能(实现模拟下载功能,被下载的文件存储在本地)。

    先看到三个按钮的位置:

    因为在这里是三个按钮轮流切换,所以在后台写了一个方法:

     public void AddInfo(string LabelContext, int i)
            {
                string ImagePath = Environment.CurrentDirectory;//获取当前工作目录的完全路径
                Label lb = new Label();
                lb.AutoSize = true;//控件跟着文字的大小进行变化
                lb.Location = new System.Drawing.Point(0, i);//控件的位置
                lb.Text = LabelContext;//显示的文字
                Button btn = new Button();
                btn.Height = 25;//高度
                btn.Width = 25;//宽度
                btn.Tag = LabelContext;
                //拉姆达表达式,+= 是在委托链上增加一个委托,(s, e) => 是一个lambda表达式,这个表达式创建一个委托,委托处理的主体就是 => 后面的部分。
                btn.Click += (sender, e) =>
                {
                    SaveFileDialog ofd = new SaveFileDialog();//提示用户选择文件的保存位置
                    ofd.FileName = LabelContext;//被保存的文件的名字
                    if (ofd.ShowDialog() == DialogResult.OK)//意思是当按下ok键执行下列操作
                    {
                        string strFileName = ofd.FileName;
                        File.WriteAllBytes(strFileName, File.ReadAllBytes(ImagePath + "\\PDF\\" + LabelContext));
                        //创建一个新的文件,找到原来的文件把内容复制下来
                        MessageBox.Show("下载成功");
                    }
                };
                btn.Location = new System.Drawing.Point(lb.Width * 2 + btn.Width, i);
                btn.BackgroundImage = Image.FromFile(ImagePath + "\\Image\\download.png");
                btn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;//设置图片适应按钮大小
                panel_right.Controls.Add(lb);
                panel_right.Controls.Add(btn);
            }

    然后就要用到这个方法了,在三个按钮的点击事件里面:

    private void btn_caw_Click(object sender, EventArgs e)
            {
                panel_right.Controls.Clear();//清空面板,在右边存放的是面板控件
                int y = 0;//纵坐标
                AddInfo("China in the Worldskills.pdf", y);      
            }
     private void btn_cwc_Click(object sender, EventArgs e)
            {
                panel_right.Controls.Clear();
                int y = 0;
                AddInfo("Committee of Worldskills China.pdf", y);
            }
     private void btn_par_Click(object sender, EventArgs e)
            {
                panel_right.Controls.Clear();
                string[] str = new string[] { "the 41st Competition.pdf", "the 42nd Competition.pdf", "the 43rd Competition.pdf" };//数组
                int y = 0;
                for (int i = 0; i < 3; i++)
                {
                    AddInfo(str[i], y);//循环三次把数组的值显示出来
                    y = y + 30;
                }
            }

    下载功能就做完啦。

     

    转载于:https://www.cnblogs.com/madan01/p/10557923.html

    展开全文
  • iFakeLocation 要求: ...下载: 请参阅页面。 运行: 视窗: 运行名为iFakeLocation.exe的可执行文件。 Mac OSX 打开DMG,然后将应用程序拖到“桌面”或“应用程序”文件夹中。 双击运行该应用程序。
  • AnyGo可以通过电脑的形式来对你手机当中的定位进行修改,只需要将iPhone / iPad连接到Mac上面就能够为你进行位置上的修改,而且还有模拟走路功能,可以模拟GPS沿着真实道路或绘制的任何路径的运动,还适用于在玩某些...
  • 内容索引:脚本资源,Ajax/JavaScript,滚动条 simScroll 插件下载,用图片模拟滚动条,个人觉得从功能上来说已接近完美了,不过还是有点东西要完善的。就目前来说它支持的功能有:  1、上下按钮、滚动区域,支持切换...
  • 未测试,据说只支持某些手机,小米和华为很难...·下载Xposed安装器和需要使用的Xposed模块,并安装;·进入Xposed安装器,给予ROOT权限;·Android 4.4上只需要安装管理器,再进入管理器的框架选项,安装/更新 ...
  • 如普通货车辆监控定位,渔船定位监控、运输特种物品车辆监控等,主要的目的是接收实时上传的位置点在地图上进行显示和更新,但是有时候没有现成的数据接入服务,想要达到前端的快速数据模拟与开发就成为了问题,这里...
  • ================================================ ...==================================...注:运行以下代码的前提是你已经装了Matlab 2021a:下载链接见文章末尾。:Navigation Toolbox™ 使用模拟的全球导航卫星系
  • 我们在下载东西可以发现当我们网络断开之后,下载进度依然保存,当网络恢复时,接着断点位置继续下载,其实基于RandomAccessFile流就可以实现这样的操作,下面用个文件拷贝演示一下原理。 java.io.RandomAccessFile ...
  • 1)模仿百度网盘实现一个文件上传、下载、浏览的终端网盘; 2)能够实现文件和目录的存储; 3)在终端下运行服务器和客户端,不对GUI做要求; 4)以用户的形式组织用户数据,不同用户“登录”可以访问相应的数据; 5)...
  • 题目链接:...当看到792行的网上找的代码时,当时那个感觉啊```,还好从Disscuss 上看到了可以用随 机化算法模拟退火来解决,下载了个PPT,想通了其中的环节~然后,决定今天把它敲出来,AC之,可敲出来之
  • 其实下载文件就是一个get请求,而断点续传则是要把发生异常时,已经下载位置记录下来,再次下载时从这个位置继续下载。此时就要涉及到两个知识点了,一个Range的请求头字段(有了这个字段就可以读取服务端该文件的...
  • 找到form中的action查看提交表单的目的地址: ...action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1 登录后,查看表单数据作为提交参数:...最后就是查看头像的位置: 利用BeautifulSoup
  • 您可以下载Adobe Flash Professional CS4的试用版,并由此打开.fla文件。 此外,Flash Professional CS6也可以打开这些文件。 Adobe不再分发Flash Professional。 我发现读取源文件的唯一方法是在打开.swf文件。 ...
  • python爬取图片并下载 代码涉及的相关网站链接,仅供参考 import urllib3 from bs4 import BeautifulSoup # 获取模拟头 def getHeader(): headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) ...
  • 在Ubuntu的官网上,Live CD的下载也是位于很明显的位置上,而对于DVD方式的[url="http://www.ubuntu.com/getubuntu/downloadmirrors#dvd"]下载[/url],Ubuntu网站好象并不“舍得”让人知道,放的位置很...
  • 发布了好几个版本了,现做一个精简版(非全屏) 历史版本 ... 插件版 精简版如下: ...资源下载:https://download.csdn.net/download/uaime/16732536 特殊需求私信我哦。不喜勿喷,纯属娱乐! ...
  • 手机模拟大师卸载

    千次阅读 2020-10-22 10:12:16
    前两天为了下载一个软件的汉化包在一个非官方网站上下了一个文件,谁知道下载完之后安装显示什么P2P下载方式,就察觉不对了,桌面上多了一堆应用图标,最近添加里也多了一些不知名的东西,重点是弹了一堆广告出来 ...
  • iPhone模拟定位

    2020-10-10 17:37:08
    背景 在测试过程中,尤其是国际化测试的过程中,很多...下载后安装可能提示证书失效,mac可以进入“系统偏好设置 - 安全性与隐私 - 通用”,在“允许以下位置下载的 App”处勾选“任何来源”,来进行安装,更多方法可以
  • 可以从以下位置免费下载此驱动程序:http://www.agilent.com/find/ivi-com 此示例还需要安装 VISA 软件才能使用 IVI-COM 驱动程序连接到仪器。 该软件包含在 Agilent IO 库中,可从以下网址下载:...
  • 文章目录前言I、安装方式II 使用方式2.1 获取位置的坐标2.2 点击指定位置坐标2.3 坐标系see ...下载安装包 https://www.bluem.net/en/projects/cliclick/ 自己编译源码 II 使用方式 2.1 获取位置的坐标 打印当
  • python脚本模拟电脑操作

    千次阅读 2020-06-16 19:56:08
    疫情期间,学校要求每天都进行体温上报,每天都要填写一个在线表格,都是相似的操作,所以我利用第三方库——pyautogui写了一个模拟鼠标键盘操作的脚本,这个脚本可以通过模拟鼠标和键盘来填写体温。 如何写一个...
  • C# 模拟键盘操作

    2018-08-02 17:24:42
    模拟鼠标和键盘 注意:不支持Windows 8 / 8.1。 Interceptor是Windows键盘驱动程序的包装器(包装http://oblita.com/Interception)。 使用驱动程序,Interceptor可以模拟按键和鼠标点击... 使用DirectX的游戏,...
  • 3、可与运动控制扩展板(JMDM-EX2021)配合使用,扩展1路编码器检测输入通道,外接编码器用于位置检测控制;同时可扩展2路运动控制功能,外接步进或伺服电机进行联动运动控制;4、可灵活应用在100个点以内的I/O控制...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 777
精华内容 310
关键字:

模拟位置下载