Mobiles Internet aktivieren und deaktivieren

  • 13 Antworten
  • Neuster Beitrag
D

Daniel002

Neues Mitglied
Threadstarter
Hallo,
ich wollte mal wissen ob mir jemand paar Infos geben kann, wie man das mobile internet aktivieren kann.

Ich möchte eine App basteln, mit der man mit einem Button das mobile Internet aktivieren und deaktivieren kann.

Gibt es da schon eine klasse die ich nutzen könnte?

Danke schön.

Mfg
 
D

Daniel002

Neues Mitglied
Threadstarter
Hallo,

deine für deine Hilfe, dass bringt mich schonmal etwas vorran. Jedoch bekomme ich folgenden Code einfach nicht compilierfähig:

Code:
    Method dataConnSwitchmethod;
    Class telephonyManagerClass;
    Object ITelephonyStub;
    Class ITelephonyClass;

    TelephonyManager telephonyManager = (TelephonyManager) context
            .getSystemService(Context.TELEPHONY_SERVICE);

    if(telephonyManager.getDataState() == TelephonyManager.DATA_CONNECTED){
        isEnabled = true;
    }else{
        isEnabled = false;  
    }   

    telephonyManagerClass = Class.forName(telephonyManager.getClass().getName());
    Method getITelephonyMethod = telephonyManagerClass.getDeclaredMethod("getITelephony");
    getITelephonyMethod.setAccessible(true);
    ITelephonyStub = getITelephonyMethod.invoke(telephonyManager);
    ITelephonyClass = Class.forName(ITelephonyStub.getClass().getName());

    if (isEnabled) {
        dataConnSwitchmethod = ITelephonyClass
                .getDeclaredMethod("disableDataConnectivity");
    } else {
        dataConnSwitchmethod = ITelephonyClass
                .getDeclaredMethod("enableDataConnectivity");   
    }
    dataConnSwitchmethod.setAccessible(true);
    dataConnSwitchmethod.invoke(ITelephonyStub);
Vorallem mit folgender Zeile(n) habe ich Probleme bzw. verstehe diese auch nicht:

Code:
    TelephonyManager telephonyManager = (TelephonyManager) context
            .getSystemService(Context.TELEPHONY_SERVICE);

Wäre nett wenn du mir da bisschen weiter helfen könntest.

Ich bedanke mich ganz herzlich.

Mit freundlichen Grüßen
Dani
 
S

swordi

Gewerbliches Mitglied
und wer errät den Fehler ?

Hellseher hier ?
 
D

Daniel002

Neues Mitglied
Threadstarter
Na ja, wie ich schon geschrieben habe, wollte ich die eine spezielle Zeile erklärt haben. Ich danke dir das du dich für den Thread interessierst.

Er kennt das context nicht.
 
S

swordi

Gewerbliches Mitglied
naja dann sag doch dass context nicht gefunden wird. wer soll das denn wissen ?


du musst deiner klasse dann einen context übergeben. damit bekommst du den telephony service

wenn du hilfe willst, musst halt deine probleme auch anständig beschreiben.
 
D

Daniel002

Neues Mitglied
Threadstarter
Ja du hast recht, ich danke dir nochmal. Ich werde daran arbeiten meine Problemstellung besser zu beschreiben.

Kannst du mir ein konkretes Bespiel zeigen, damit kann ich immer mehr anfangen?
 
S

swordi

Gewerbliches Mitglied
was für ein konkretes beispiel

du hast eine klasse, die anscheinend irgendwas machst. dieser klasse musst du deinen context geben, sonst kannst du teile nicht erledigen.

wenn du nicht weißt, was der context ist, woher du den bekommst oder für was der gut ist, schau mal bei d.android.com vorbei. dort wird dir das sicher gut erklärt.

wie du etwas einer klasse übergibst weißt du aber ?

myInstance.setValue(value);
 
D

Daniel002

Neues Mitglied
Threadstarter
Also ich erstelle ein Objekt meiner Klasse. Über dieses Objekt kann ich die methoden aurufen. ob1.methode(WERT);

Das ist klar soweit, ich komm trotzdem nicht hintern diesen context krams, die Zeile verstehe ich nicht.

Ich habe folgendes mal eingetippt und er meint "context cannot be resolved", er bietet mir an context zu definieren, womit?

Code:
package yo2ur.pacsskage.namespsace;

import java.lang.reflect.Method;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.telephony.TelephonyManager;

public class TesgtActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        TesgtActivity ob1 = new TesgtActivity();
        
        ob1.machan();
        
    }    
    
    public void machan() {
        Method dataConnSwitchmethod;
        Class telephonyManagerClass;
        Object ITelephonyStub;
        Class ITelephonyClass;

        TelephonyManager telephonyManager = (TelephonyManager) [COLOR=Red][B]context[/B][/COLOR]
                .getSystemService(Context.TELEPHONY_SERVICE);

        boolean isEnabled;
        if(telephonyManager.getDataState() == TelephonyManager.DATA_CONNECTED){
            isEnabled = true;
        }else{
            isEnabled = false;  
        }   

        telephonyManagerClass = Class.forName(telephonyManager.getClass().getName());
        Method getITelephonyMethod = telephonyManagerClass.getDeclaredMethod("getITelephony");
        getITelephonyMethod.setAccessible(true);
        ITelephonyStub = getITelephonyMethod.invoke(telephonyManager);
        ITelephonyClass = Class.forName(ITelephonyStub.getClass().getName());

        if (isEnabled) {
            dataConnSwitchmethod = ITelephonyClass
                    .getDeclaredMethod("disableDataConnectivity");
        } else {
            dataConnSwitchmethod = ITelephonyClass
                    .getDeclaredMethod("enableDataConnectivity");   
        }
        dataConnSwitchmethod.setAccessible(true);
        dataConnSwitchmethod.invoke(ITelephonyStub);
    }
}
Sorry das ich so blöd bin, danke für die Hilfe. Sei bitte nicht gemein, bin sehr sensibel :(
 
S

swordi

Gewerbliches Mitglied
lol ich bin nicht gemein, aber:
bitte lern java zuerst.

warum erzeugst du eine instanz in der oncreate methode - obwohl du sowieso innerhalb der klasse bist ?

hast es mal probiert, den context. einfach wegzulöschen :) lol

wird zwar dein problem lösen, aber du wirst keine ahnung haben warum :D

mehr als die lektüre an herz legen kann ich leider nicht tun.
 
D

Daniel002

Neues Mitglied
Threadstarter
Als wenn ich es nicht schon probiert hätte. Mensch, warum gibt es Foren? Ich frage doch, erkläre mir die Zeile und du machst es nicht. Dann halt dich aus dem Thread raus, ich danke dir für deine Hilfe, aber diese hilft mir nicht.

Kann mir jemand helfen?
 
Zuletzt bearbeitet:
S

swordi

Gewerbliches Mitglied
die zeile versucht genau den system service TelephonyService vom system zu bekommen.

dafür benötigt man einen context. ohne context geht nunmal nichts

steht alles hier im thread - entweder drück ich mich so blöd aus oder du raffst es nicht :D
 
D

Daniel002

Neues Mitglied
Threadstarter
Kannst du so lieb sein und mir die passende Zeile mal "vorwerfen"
 
S

swordi

Gewerbliches Mitglied
naja weit wirst so nicht kommen.

TelephonyManager telephonyManager = (TelephonyManager)
getSytemService(Context.TELEPHONY_SERVICE);
 
Oben Unten