モバイルデータのON/OFFの変更と、今のON/OFFの確認を行うプログラムです。
使用方法は、
初期化
 MobileData mobileData = new MobileData(getApplicationContext());
ON/OFF変更
 mobileData.setEnabled(true or false);
ON/OFF状態確認
 mobileData.isEnabled();
という感じです。たぶん、android2.3.3以降なら動作すると思います。
ソース
#########################################################################
public class MobileData extends Service
{
 Context mContextData;
 
 MobileData(Context context)
 {
  mContextData = context;
 }
 // モバイルデータ状態確認
 // ON:true
 // OFF:false
 protected boolean isEnabled()
 {
  final ConnectivityManager cm = (ConnectivityManager) mContextData.getSystemService(Context.CONNECTIVITY_SERVICE);
  boolean result = false;
  try{
   Method method=cm.getClass().getMethod("getMobileDataEnabled");
   method.setAccessible(true);
   result  = Boolean.TRUE.equals(method.invoke(cm));
  }catch(Exception e){
   e.printStackTrace();
   Util.logLib( "error");
  }
  return result;
 }
 // モバイルデータ設定
 protected void setEnabled(boolean isChecked)
 {
  final ConnectivityManager cm = (ConnectivityManager) mContextData.getSystemService(Context.CONNECTIVITY_SERVICE);
  try{
   final Method method=cm.getClass().getMethod("setMobileDataEnabled", Boolean.TYPE);
   method.setAccessible(true);
   method.invoke(cm, isChecked);
  }catch(final Exception e){
   e.printStackTrace();
  }
 }
 @Override
 public IBinder onBind(Intent intent) {
  // TODO Auto-generated method stub
  return null;
 }
}
#########################################################################
0 件のコメント:
コメントを投稿