1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Mobiles Internet aktivieren und deaktivieren

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Daniel002, 09.04.2012.

  1. Daniel002, 09.04.2012 #1
    Daniel002

    Daniel002 Threadstarter Neuer Benutzer

    Beiträge:
    7
    Erhaltene Danke:
    0
    Registriert seit:
    09.04.2012
    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
     
  2. Kranki, 10.04.2012 #2
    Kranki

    Kranki Ehrenmitglied

    Beiträge:
    3,831
    Erhaltene Danke:
    814
    Registriert seit:
    19.07.2009
    Tablet:
    Samsung Galaxy Tab 3 7.0 Lite
  3. Daniel002, 13.04.2012 #3
    Daniel002

    Daniel002 Threadstarter Neuer Benutzer

    Beiträge:
    7
    Erhaltene Danke:
    0
    Registriert seit:
    09.04.2012
    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
     
  4. swordi, 13.04.2012 #4
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    und wer errät den Fehler ?

    Hellseher hier ?
     
  5. Daniel002, 13.04.2012 #5
    Daniel002

    Daniel002 Threadstarter Neuer Benutzer

    Beiträge:
    7
    Erhaltene Danke:
    0
    Registriert seit:
    09.04.2012
    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.
     
  6. swordi, 13.04.2012 #6
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    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.
     
  7. Daniel002, 13.04.2012 #7
    Daniel002

    Daniel002 Threadstarter Neuer Benutzer

    Beiträge:
    7
    Erhaltene Danke:
    0
    Registriert seit:
    09.04.2012
    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?
     
  8. swordi, 13.04.2012 #8
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    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);
     
  9. Daniel002, 15.04.2012 #9
    Daniel002

    Daniel002 Threadstarter Neuer Benutzer

    Beiträge:
    7
    Erhaltene Danke:
    0
    Registriert seit:
    09.04.2012
    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 :(
     
  10. swordi, 15.04.2012 #10
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    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.
     
  11. Daniel002, 15.04.2012 #11
    Daniel002

    Daniel002 Threadstarter Neuer Benutzer

    Beiträge:
    7
    Erhaltene Danke:
    0
    Registriert seit:
    09.04.2012
    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: 15.04.2012
  12. swordi, 15.04.2012 #12
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    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
     
  13. Daniel002, 15.04.2012 #13
    Daniel002

    Daniel002 Threadstarter Neuer Benutzer

    Beiträge:
    7
    Erhaltene Danke:
    0
    Registriert seit:
    09.04.2012
    Kannst du so lieb sein und mir die passende Zeile mal "vorwerfen"
     
  14. swordi, 15.04.2012 #14
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    naja weit wirst so nicht kommen.

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

Diese Seite empfehlen