我正在努力让BassBoost
班级在后台工作。当应用程序在我眼前时,它可以工作,但是当我按下后退按钮时,它不再是低音增强。
这是我的代码 -
BassBoost bb;
...
bb = new BassBoost(0, 0);
bb.setEnabled(true);
bb.setStrength((short) 1000);
我也尝试将其转移到服务中:
public class ServiceName extends Service {
public static BassBoost bb;
@Override
public void onCreate() {
super.onCreate();
Toast.makeText(getBaseContext(), "service started dawg", Toast.LENGTH_LONG).show();
bb = new BassBoost(0, 0);
bb.setEnabled(true);
bb.setStrength((short) 1000);
}
@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;
}
答案 0 :(得分:0)
这是例如,我想你有MainActivity.java文件放在onCreate方法的代码下面,最后。
Intent intent = new Intent(this, watchman.class);
startService(intent);
Log.d(TAG, "Starting Service...\n");
这里watchman.class意味着您需要创建watchman.java文件。 它应至少具有以下基本代码
public class watchman extends Service
{
@Override
public IBinder onBind(Intent arg0)
{
return null;
}
public int onStartCommand(Intent intent, int flags, int startId)
{
new Thread(new Runnable()
{
public void run()
{
while(true)
{
Log.d(TAG, "Thread Running...");
// code in service goes here..
Thread.sleep(10000);
}
}
}).start();
return START_STICKY;
}
@Override
public void onDestroy()
{
super.onDestroy();
Log.d(TAG, "Service Destroyed...");
}
}
在manifest.xml文件中,在标记
之前放入以下代码<service android:name=".watchman"></service>
</application>
现在自动包含必要的导入文件,并在模拟器上运行项目,保持logcat打开..你应该看到&#34;线程运行&#34;多次打印,实际上是无限循环。它旨在将您的代码保留在这里......,即使您的应用程序关闭,它也会继续运行。
问我是否需要更多帮助。希望你或任何人发现它有用