hallo.
habe da ein problem mit meiner kleinen app.
ich möchte einen service starten der dann die statusbar komplett ausblendet und dann anschliessend die activity beendet, jedoch den service weiter laufen lässt.
meine app startet den service sobald ich einen button anklicke. über einen weiteren button kann ich den service auch wieder beenden.
die statusbar ausblenden funktioniert soweit auch. der code dafür ist alleridngs noch in der activity. der aufruf zum an bzw ausschalten soll allerdings im service geschehen.
leider bekomme ich dann vom compiler die fehlermeldung, dass die methode getWindow() undefiniert ist. sind diese aufrufe nur in der activity möglich? oder gibt es eine andere möglichkeit die flags im service zu setzen?
hier mal die beiden kompletten klassen der app:
package de.dannydan.www;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.view.WindowManager.LayoutParams;
import android.widget.Button;
import android.widget.EditText;
public class HideStatusBar extends Activity {
Intent svc;
public EditText text;
Intent i;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button button = (Button) findViewById(R.id.Button01);
final Button button2 = (Button) findViewById(R.id.Button02);
svc = new Intent(this, ServiceTest.class);
button.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
text = (EditText) findViewById(R.id.EditText01);
text.setText("Hidden StatusBar");
startService(svc);
//getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
});
button2.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
text = (EditText) findViewById(R.id.EditText01);
text.setText("Shown StatusBar");
//getWindow().clearFlags(LayoutParams.FLAG_FULLSCREEN);
//stopService(svc);
}
});
}
}
Alles anzeigen
package de.dannydan.www;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
import android.view.WindowManager;
public class ServiceTest extends Service{
public void onCreate()
{
super.onCreate();
startservice();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
private void startservice() {
final String TAG = "ServiceTest";
Log.v(TAG, "Service started!");
-->FUNKTIONIERT SO NICHT.COMPILER ERROR--> getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
public void stopService() {
onDestroy();
}
public void onDestroy() {
super.onDestroy();
Log.v("ServiceTest", "Service Destroyed");
}
}
Alles anzeigen
vielen dank schonmal im vorraus für jegliche tipps!
Danny