P
paxis
Fortgeschrittenes Mitglied
- 0
Hallo Leute,
nachdem mein Projekt vor einigen Wochen schon nicht geklappt hat und ich erstmal weiter "vorne" wieder Android gelernt habe, habe ich mich heute nochmal an meinem Projekt versucht!
Es soll folgendes gemacht werden:
Ich gebe zwei Uhrzeiten an, zwischen denen soll das WLAN (später auch übertragbar auf andere Dienste ^^) ausgeschaltet werden!
Zuerst habe ich nur dafür gesorgt, dass das Wlan ausgeschaltet werden kann!
Jetzt habe ich das ganze in eine Service Thread Klasse ausgelagert, damit das auch im Hintergrund immer schön aktualiesiert und ermittelt, ob er es wieder einschalten soll!
Ärgerlicherweise macht er zur Zeit nichtmal das WLAN aus und da ich nicht ganz so fitt in Thread/Service sachen bin, wollte ich euch mal mein Projekt zeigen und euch um Hilfe bitten:
Main Klasse:
ThreadKlasse:
Zugriff auf WLAN ist in der Manifest Datei gegeben, tritt kein Fehler in der KOnsole auf!
Irgendwo musse in fehler mit der Thread/Service Sache sein und ich hoffe mal auf eure Hilfe
!
paxis
nachdem mein Projekt vor einigen Wochen schon nicht geklappt hat und ich erstmal weiter "vorne" wieder Android gelernt habe, habe ich mich heute nochmal an meinem Projekt versucht!
Es soll folgendes gemacht werden:
Ich gebe zwei Uhrzeiten an, zwischen denen soll das WLAN (später auch übertragbar auf andere Dienste ^^) ausgeschaltet werden!
Zuerst habe ich nur dafür gesorgt, dass das Wlan ausgeschaltet werden kann!
Jetzt habe ich das ganze in eine Service Thread Klasse ausgelagert, damit das auch im Hintergrund immer schön aktualiesiert und ermittelt, ob er es wieder einschalten soll!
Ärgerlicherweise macht er zur Zeit nichtmal das WLAN aus und da ich nicht ganz so fitt in Thread/Service sachen bin, wollte ich euch mal mein Projekt zeigen und euch um Hilfe bitten:
Main Klasse:
Code:
package de.tobideve.regler;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.os.IBinder;
import android.app.Activity;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Main extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button Wlan = (Button) this.findViewById(R.id.bWlan);
Wlan.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
int von =getVon() / 3600;
int bis =getBis() / 3600;
Toast.makeText(getBaseContext(), "WiFi aus von " + von + "bis" + bis,
Toast.LENGTH_LONG).show();
Kontrolle a = new Kontrolle();
a.onHandleIntent(getIntent());
}});
}
public int getVon() {
EditText VonT = (EditText) this.findViewById(R.id.edVon);
String Von = VonT.getText().toString();
int von = Integer.parseInt(Von.toString());
int vonM = von * 3600;
return vonM;
}
public int getBis() {
EditText BisT = (EditText) this.findViewById(R.id.edBis);
String Bis = BisT.getText().toString();
int bis = Integer.parseInt(Bis.toString());
int bisM = bis * 3600;
return bisM;
}
public void WLANaus() {
long aktuelleZeit = System.currentTimeMillis();
int von =getVon() *1000;
int bis =getBis() *1000;
if (aktuelleZeit > von){
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if(wifi.isWifiEnabled()) {
wifi.setWifiEnabled(false);
Toast.makeText(getBaseContext(), "Wlan Aus",
Toast.LENGTH_LONG).show();
}
else if (wifi.isWifiEnabled()==false){
Toast.makeText(getBaseContext(), "Wlan bereits aus",
Toast.LENGTH_LONG).show(); }
}
if (aktuelleZeit < bis){
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if(wifi.isWifiEnabled()) {
wifi.setWifiEnabled(false);
Toast.makeText(getBaseContext(), "WiFi aus",
Toast.LENGTH_LONG).show();
}
else if (wifi.isWifiEnabled()==false){
Toast.makeText(getBaseContext(), "Wlan bereits aus",
Toast.LENGTH_LONG).show(); }
}
if (aktuelleZeit > bis){
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if(wifi.isWifiEnabled()) {
wifi.setWifiEnabled(true);
Toast.makeText(getBaseContext(), "WiFi aus",
Toast.LENGTH_LONG).show();
}
else if (wifi.isWifiEnabled()==false){
Toast.makeText(getBaseContext(), "Wlan bereits aus",
Toast.LENGTH_LONG).show(); }
}
if (aktuelleZeit < von){
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if(wifi.isWifiEnabled()) {
wifi.setWifiEnabled(true);
Toast.makeText(getBaseContext(), "Wlan Aus",
Toast.LENGTH_LONG).show();
}
else if (wifi.isWifiEnabled()==false){
Toast.makeText(getBaseContext(), "Wlan bereits aus",
Toast.LENGTH_LONG).show(); }
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
ThreadKlasse:
Code:
package de.tobideve.regler;
import android.app.IntentService;
import android.app.Service;
import android.content.Intent;
import android.os.HandlerThread;
import android.os.IBinder;
public class Kontrolle extends IntentService {
public Kontrolle() {
super("HelloIntentService");
}
public void aufrufen() {
class Wiederholung extends Thread{
public void run() {
Main a = new Main();
a.WLANaus();
try{
sleep(1000);
}
catch(InterruptedException e){
return;
}
}
}
}
@Override
public void onCreate() {
}
@Override
protected void onHandleIntent(Intent intent) {
aufrufen();
}}
Zugriff auf WLAN ist in der Manifest Datei gegeben, tritt kein Fehler in der KOnsole auf!
Irgendwo musse in fehler mit der Thread/Service Sache sein und ich hoffe mal auf eure Hilfe
paxis