Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.app.Service;
- import android.content.Context;
- import android.content.Intent;
- import android.hardware.Sensor;
- import android.hardware.SensorEvent;
- import android.hardware.SensorEventListener;
- import android.hardware.SensorManager;
- import android.os.Bundle;
- import android.os.IBinder;
- import android.widget.Toast;
- public class GMeter extends Service implements SensorEventListener {
- private float mLastX, mLastY, mLastZ;
- private boolean mInitialized;
- private SensorManager mSensorManager;
- private Sensor mAccelerometer;
- private final float NOISE = (float) 2.0;
- /** Called when the activity is first created. */
- public void onCreate(Bundle savedInstanceState) {
- mInitialized = false;
- mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
- mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
- mSensorManager.registerListener(this, mAccelerometer , SensorManager.SENSOR_DELAY_NORMAL);
- Toast.makeText(this, "Starting Service", Toast.LENGTH_LONG).show();
- }
- protected void onResume() {
- mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
- }
- protected void onPause() {
- mSensorManager.unregisterListener(this);
- }
- @Override
- public void onAccuracyChanged(Sensor sensor, int accuracy) {
- // can be safely ignored for this demo
- }
- @Override
- public void onSensorChanged(SensorEvent event) {
- float x = event.values[0];
- float y = event.values[1];
- float z = event.values[2];
- double a = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
- double currentG = (a/ SensorManager.STANDARD_GRAVITY);
- Toast.makeText(this, "Calculating G's", Toast.LENGTH_LONG).show();
- if (!mInitialized && currentG > 1.0) {
- mLastX = x;
- mLastY = y;
- mLastZ = z;
- mInitialized = true;
- //Start Second Activity
- Intent intent = new Intent(getBaseContext(), thirdClass.class);
- intent.setAction(Intent.ACTION_VIEW);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
- getApplication().startActivity(intent);
- }else {
- float deltaX = Math.abs(mLastX - x);
- float deltaY = Math.abs(mLastY - y);
- float deltaZ = Math.abs(mLastZ - z);
- if (deltaX < NOISE) deltaX = (float)0.0;
- if (deltaY < NOISE) deltaY = (float)0.0;
- if (deltaZ < NOISE) deltaZ = (float)0.0;
- mLastX = x;
- mLastY = y;
- mLastZ = z;
- }
- }
- @Override
- public IBinder onBind(Intent intent) {
- // TODO Auto-generated method stub
- return null;
- }
- }
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
- return START_STICKY;
- }
- public void onCreate()
- public class abc extends Service {
- Context mContext;
- @Override
- public void onCreate()
- {
- mContext=getApplicationContext();
- super.onCreate();
- }
- @Override
- public int onStartCommand(Intent intent, int flags, int startId)
- {
- return super.onStartCommand(intent, flags, startId);
- }
- @Override
- public IBinder onBind(Intent intent)
- {
- // TODO Auto-generated method stub
- return null;
- }
Add Comment
Please, Sign In to add comment