Comment activer la 3G mobile de données par programmation dans Android?

package com.testing.connection;
import android.app.Activity;
import android.net.ConnectivityManager;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class ConnectionActivity extends Activity implements OnClickListener{
Button press;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
press = (Button)findViewById(R.id.button1);
press.setOnClickListener(this);
}
public void onClick(View view){
ConnectivityManager mgr = (ConnectivityManager)getSystemService(CONNECTIVITY_SERVICE);
boolean is3G = mgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();
boolean isWifi = mgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();
if(isWifi){
Toast.makeText(this, "WiFi connected...", Toast.LENGTH_LONG).show();
sendMail();
}
else{
//**Turn on Mobile Data
//**Then sendMail()
//**Turn off Mobile Data
}
}
public void sendMail() throws MessagingException{
String host = "smtp.gmail.com";
String password = "abc123";
String from = "[email protected]";
String toAddress = enterEmail.getText().toString();
Properties properties = System.getProperties();
properties.put("mail.smtp.host", host);
properties.put("mail.smtps.auth", true);
properties.put("mail.smtp.starttls.enable", true);
Session session = Session.getInstance(properties, null);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.setRecipients(Message.RecipientType.TO, toAddress);
message.setSubject("Anti-Theft Attachment");
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText("Your email address is saved as backup email in Anti-Theft Application");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);
try{
Transport transport = session.getTransport("smtps");
transport.connect(host, from, password);
transport.sendMessage(message, message.getAllRecipients());
System.out.println("Mail Sent Successfully");
transport.close();
} catch (SendFailedException sfe){
System.out.println(sfe);
}
}
}

Salut, je développe une application Android, et je voudrais avoir la fonction d'activer les données mobiles automatiquement une fois que la connexion Wifi est détecté pas connecté au téléphone, parce que je voudrais assurez-vous que l'e-mail peut être envoyé n'importe le Wifi est connecté ou pas... Donc, une fois que la connexion wifi est détecté n'est pas connecté, les données 3G est activée et que l'email est envoyé et le réseau de données éteint...

Pourrais-je savoir comment effectuer le tour sur le réseau 3G et désactiver le réseau 3G??? La source sur Internet sont rares et j'espère que quelqu'un peut m'aider à le résoudre... Merci...

Wow, je l'espère, vous ne pouvez pas le faire! Si j'ai désactivé la 3G de données sur mon téléphone c'est parce que je ne veux pas utiliser de données 3G. Ce n'est pas à votre application pour l'activer derrière mon dos!!!
Si il n'y a pas de Wifi connecté à mon téléphone, puis je ne suis pas en mesure d'envoyer des e-mail, j'ai donc activer la 3g de données à envoyer l'e-mail et de l'éteindre après l'envoi du courriel... qui est-il...
Avez-vous pensé à avertir l'utilisateur qu'ils n'ont pas de connexion, puis proposant d'ouvrir les Paramètres via un bouton? Ce serait plus pratique pour l'utilisateur, pour accomplir ce que vous voulez faire.
Mes applications est un anti-vol de l'application, et je parie que le vol ne sera jamais sur la 3g de données une fois qu'il est informé...

OriginalL'auteur user1782267 | 2012-11-01