رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

برنامه سایلنت کردن گوشی به صورت اتوماتیک


پست های پیشنهاد شده

کسی میتونه کمکم کنه و کدشو بهم بده لطفا !؟

مثلا یه ساعت شروع و یه ساعت پایان میگیره ساعت شروع برای سایلنت و ساعت پایان برای برگشتن به حالت normal...

البته خودم نوشتم و نمیدونم مشکلش چیه هیچ error هم نداره نمیدونم چرا تو بک گراند اجرا نمیشه ...

MainActivity

package com.Example.mortezapg;



import java.text.SimpleDateFormat;
import java.util.Calendar;

import android.R.string;
import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.app.PendingIntent;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.media.AudioManager;
import android.os.Bundle;
import android.os.IBinder;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import android.os.Build;

public class MainActivity extends Activity {





@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);

	if (savedInstanceState == null) {
		getFragmentManager().beginTransaction()
				.add(R.id.container, new PlaceholderFragment()).commit();
	}
}
 public void onclick1(View v) {

	 EditText ed1=(EditText) findViewById(R.id.editText1);
	 EditText ed2=(EditText) findViewById(R.id.editText2);
	 Button b=(Button) findViewById(R.id.button1);
	 Toast.makeText(this, "bbbb", Toast.LENGTH_LONG).show();
    	  String hour1 =ed1.getText().toString().split(":")[0];
    	 String min1 = ed1.getText().toString().split(":")[1];
      	String hour2 =ed2.getText().toString().split(":")[0];
    	String min2 = ed2.getText().toString().split(":")[1];
       String time=hour1+"/"+hour2+"/"+min1+"/"+min2+"/";        
         Intent ir=new Intent(this,Myservice.class); 
         ir.putExtra("data",time); 
         this.startService(ir); 
    	  Toast.makeText(this,hour1+"", Toast.LENGTH_LONG).show();
 }
@Override
public boolean onCreateOptionsMenu(Menu menu) {

	// Inflate the menu; this adds items to the action bar if it is present.
	getMenuInflater().inflate(R.menu.main, menu);
	return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
	// Handle action bar item clicks here. The action bar will
	// automatically handle clicks on the Home/Up button, so long
	// as you specify a parent activity in AndroidManifest.xml.
	int id = item.getItemId();
	if (id == R.id.action_settings) {
		return true;
	}
	return super.onOptionsItemSelected(item);
}

/**
 * A placeholder fragment containing a simple view.
 */
public static class PlaceholderFragment extends Fragment {

	public PlaceholderFragment() {
	}

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		View rootView = inflater.inflate(R.layout.fragment_main, container,
				false);
		return rootView;
	}
}

}

myservice

package com.Example.mortezapg;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Timer;

import android.R.string;
import android.app.Service;
import android.content.Intent;
import android.media.AudioManager;
import android.os.IBinder;
import android.text.format.Time;
import android.widget.Toast;

public class Myservice extends Service {
   
   
   @Override
   public IBinder onBind(Intent arg0) {
      return null;
   }

   @Override
   public int onStartCommand(Intent intent, int flags, int startId) {
   
	    
      String data = intent.getExtras().getString("data");
      Toast.makeText(this,data, Toast.LENGTH_LONG).show(); 
      
     int hour1= Integer.parseInt(data.split("/")[0]);
      int hour2= Integer.parseInt(data.split("/")[1]);
      int min1= Integer.parseInt(data.split("/")[2]);
      int min2= Integer.parseInt(data.split("/")[3]);

    	
    	   SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mms");
 	       Calendar cal = Calendar.getInstance();

 	      String time_str = dateFormat.format(cal.getTime());

 	      String[] s = time_str.split(" ");
 	     int  hour_sys = Integer.parseInt(s[1].split(":")[0]);
 	      int min_sys = Integer.parseInt(s[1].split(":")[1]);
 	      
      if(hour1==hour_sys && min1==min_sys )
    	        {
    	         AudioManager audiomanage = (AudioManager)getSystemService(MainActivity.AUDIO_SERVICE);
    	        audiomanage.setRingerMode(AudioManager.RINGER_MODE_SILENT);
    	     	    	    
    	        }
      if(hour2==hour_sys && min2==min_sys )
        {
         AudioManager audiomanage = (AudioManager)getSystemService(MainActivity.AUDIO_SERVICE);
        audiomanage.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
     	     
        }

   	  Toast.makeText(this,"a", Toast.LENGTH_LONG).show();
     
      return START_STICKY;
   }
   
   @Override
   public void onDestroy() {
      super.onDestroy();
      Toast.makeText(this, "Service Destroyed", Toast.LENGTH_LONG).show();
   }
}

لینک ارسال
به اشتراک گذاری در سایت های دیگر

برنامه شما مشکلش اینه که شما در سرویس ساعتو که گرفتید شرط if گذاشتید

خب شما باید بدونید که این شرط ها یکبار بیشتر اجرا نمیشه و اگر مقدار ساعت برابر نبود برنامه کاری انجام نمیده

این کار دو راه داره

1 اگر میخواید از if استفاده کنید باید یک تایمر یا هندلر تعریف کنید تا ثانیه ای یکبار بررسی کنه ببینه مقدار ساعت برابر شده یا نه

2 دوتا آلارم منیجر تعریف کنید به یکیش ساعت شروع و یکی ساعت پایان رو بدید به ساعت شروع که رسید یک کارو انجام بده و پایان کار دیگه رو

لینک ارسال
به اشتراک گذاری در سایت های دیگر

برنامه شما مشکلش اینه که شما در سرویس ساعتو که گرفتید شرط if گذاشتید

خب شما باید بدونید که این شرط ها یکبار بیشتر اجرا نمیشه و اگر مقدار ساعت برابر نبود برنامه کاری انجام نمیده

این کار دو راه داره

1 اگر میخواید از if استفاده کنید باید یک تایمر یا هندلر تعریف کنید تا ثانیه ای یکبار بررسی کنه ببینه مقدار ساعت برابر شده یا نه

2 دوتا آلارم منیجر تعریف کنید به یکیش ساعت شروع و یکی ساعت پایان رو بدید به ساعت شروع که رسید یک کارو انجام بده و پایان کار دیگه رو

بی زحمت شما میتونید برام ویرایش کنید کدمو ممنون میشم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...