如何让程序在后台运行

时间:2012-09-01 10:18:16

标签: android android-service

我正在尝试在android的后台运行一个程序。我尝试了很多服务示例,但它对我来说更加复杂。
我正在尝试运行一个简单的应用程序 Silents 手机当我们翻过来时(我知道有一个内置功能,但是当它在手机上时,我们只是把手机放好了在它的“面子”,它处于静音模式) 我正在尝试做类似的事情,比如当我们把手机放在口袋里时,磁场显示“y”“ - num”(在num i中的意思是)。
但是当我们颠倒手机时,它会变成“+ num” 这是使手机静音并发出声音的代码:

package com.magnet2.com;

private SensorManager mSensorManager;
private Sensor mSensor;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}

@Override
protected void onResume() {
    super.onResume();
    mSensorManager.registerListener(this, mSensor, SensorManager.SENSOR_DELAY_NORMAL);
}

  @Override
  protected void onPause() {
    super.onPause();
    mSensorManager.unregisterListener(this);
  }

@Override
public void onSensorChanged(SensorEvent event) {

    if (event.values[1] >= 29 )
    {

        ((AudioManager) getSystemService(AUDIO_SERVICE))
          .setRingerMode(AudioManager.RINGER_MODE_VIBRATE);

    }
    if (event.values[1] <= -29 )
        if (event.values[2] >= -15 && event.values[2] <= 2 )
    {
        ((AudioManager) getSystemService(AUDIO_SERVICE))
        .setRingerMode(AudioManager.RINGER_MODE_NORMAL);
    }

  }

}  

但我不知道如何在后台运行它。

1 个答案:

答案 0 :(得分:0)

对于需要在没有用户互动的情况下需要完成 continuously in the background 的此类操作,Service类是执行此操作的最佳方法。

如果您不熟悉服务,这个question可以解决您的大多数疑问,在线教程只是谷歌搜索!

祝你好运!