king+

توسعه دهنده اندروید
  • تعداد ارسال ها

    4
  • تاریخ عضویت

  • آخرین بازدید

اعتبار در انجمن

0 Neutral

درباره king+

  • درجه
    Newbie
  1. سلام من یه برنامه ساده نوشتن که در ان از Alarm Manager استفاده کردم هیچ خطایی نداره ولی کار هم نمیکنه کسی میتونه کمکم کنه. فایل MainActivity public class MainActivity extends AppCompatActivity { private AlarmManager alarmMgr; private PendingIntent alarmIntent; TextView hour,minute; Button start,stop; int TimeHour , TimeMinute; String TimeH,TimeM; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); hour = (TextView) findViewById(R.id.editText_hour) ; minute = (TextView) findViewById(R.id.editText_minute) ; start = (Button) findViewById(R.id.button_startAlarm) ; stop = (Button) findViewById(R.id.Button_StopAlarm); TimeH = hour.getText().toString(); TimeM = minute.getText().toString(); start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { TimeHour = Integer.parseInt(hour.getText().toString()); TimeMinute = Integer.parseInt(minute.getText().toString()); hour.setText(""); minute.setText(""); alarmMgr = (AlarmManager)getApplicationContext().getSystemService(Context.ALARM_SERVICE); Intent intent = new Intent(MainActivity.this, AlarmReceiver.class); alarmIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, intent, 0); // Set the alarm . Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); calendar.set(Calendar.HOUR_OF_DAY, TimeHour); calendar.set(Calendar.MINUTE, TimeMinute); alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, alarmIntent); } }); stop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (alarmMgr!= null) { alarmMgr.cancel(alarmIntent); } } }); } } فایل Alarm Receiver public class AlarmReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { String state = intent.getExtras().getString("extra"); Log.e("MyActivity", "In the receiver with " + state); Intent serviceIntent = new Intent(context,ServiceTime.class); serviceIntent.putExtra("extra", state); Toast.makeText(context, "AlarmReceiver", Toast.LENGTH_SHORT).show(); context.startService(serviceIntent); } } فایل Service Time public class ServiceTime extends BroadcastReceiver { AudioManager audiomanage; @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, "ServiceTime", Toast.LENGTH_SHORT).show(); audiomanage = (AudioManager) context.getSystemService(MainActivity.AUDIO_SERVICE); audiomanage.setRingerMode(AudioManager.RINGER_MODE_SILENT); } } فایل manifest <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.kurdan.morteza.myalarmmanager"> <uses-permission android:name="com.android.alarm.permission.SET_ALARM"/> <uses-permission android:name="com.android.alarm.permission.AUDIO_MANAGER"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name=".AlarmReceiver"> </receiver> <receiver android:name=".ServiceTime"> </receiver> </application> </manifest>
  2. بی زحمت شما میتونید برام ویرایش کنید کدمو ممنون میشم
  3. سلام به عنوان اولین کارتون اگه میخواید انجام بدبد من یه پروژه دارم و میخوام برام بنویسید ...! اگه کسی هست از پسش بر بیاد بهم ایمیل بزنه ممنون mortezarasoulii@gmail.com
  4. کسی میتونه کمکم کنه و کدشو بهم بده لطفا !؟ مثلا یه ساعت شروع و یه ساعت پایان میگیره ساعت شروع برای سایلنت و ساعت پایان برای برگشتن به حالت 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(); } }