use*_*267 4 android 3g-network
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 = "testing@gmail.com";
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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
嗨,我正在开发一个Android应用程序,我希望在检测到未连接到手机的Wifi时自动打开移动数据,因为我想确保无论是否发送电子邮件都可以发送Wifi是否连接......因此,一旦检测到wifi未连接,3G数据将打开,电子邮件将被发送出去,数据网络将关闭...
我可以知道如何开启3G网络并关闭3G网络??? 互联网上的来源很少,我希望有人能帮我解决它...谢谢......
Nav*_*een 11
希望这段代码可以帮到你,在我看来它很有用.
ConnectivityManager dataManager;
dataManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
Method dataMtd = ConnectivityManager.class.getDeclaredMethod("setMobileDataEnabled", boolean.class);
dataMtd.setAccessible(true);
dataMtd.invoke(dataManager, true); //True - to enable data connectivity .
Run Code Online (Sandbox Code Playgroud)
在清单中
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
Run Code Online (Sandbox Code Playgroud)
出于安全考虑,不允许您以编程方式打开移动网络。
您唯一可以做的就是通过显示设置来提示用户打开移动网络。
Intent intent=new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS);
ComponentName cn = new ComponentName("com.android.phone","com.android.phone.Settings");
intent.setComponent(cn);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25178 次 |
| 最近记录: |