6 ارسال در این موضوع قرار دارد

یکی از امکاناتی که اندروید پیاده سازی شده AutoStartUp کردن اپلیکیشن میباشد بدین صورت وقتی که دیواس اندروید ریبوت یا روشن شد برنامه ما بصوت اتوماتیک اجرا شود.

در این آموزش قصد داریم این امکان را پیاده سازی کنیم.

ابتدا یک کلاس به نام BootUpReceiver را ایجاد میکنیم:


 

public class BootUpReceiver  extends BroadcastReceiver{

@Override

public void onReceive(Context context, Intent intent) {

// TODO Auto-generated method stub

Intent i = new Intent(context, Dashboard.class);

       i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

       context.startActivity(i);

}

در این کلاس ما از کلاس BroadcastReceiver ارث بری کرده و این کلاس باعث میشود در پس زمینه اجرا شود ، این کلاس باعث میشود همیشه در حال اجرا باشد.

بعد از روشن شدن دیوایس باعث میشود اکتیویتی Dashboard باز شود.

سپس در  فایل اندروید مانیفست پروژه:

 

 

<aplication>  
<receiver android:enabled="true" android:name=".BootUpReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </receiver>
</aplication>

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

 

 

انجمن پی سی دروید....

 

 

 

2 کاربر پسند شده است

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


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

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

خیلی آموزش هایتان کاربردی و مفید است .

باز هم ممنون از این همه تلاش شما.

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


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

من میتونم توی این کلاس یه دستور بنویسیم که همیشه هر 5 دقیقه یکبار اجرا بشه ؟

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


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

اره میتونید هر دستوری که میخواهید بنویسید.فقط نباید UI باشد

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


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

سلام

این کد برنامه منه که قراره در Background اجرا بشه و هر پنج دقیقه یکبار اطلاعاتی را به یک وب سرویس saop ارسال کنه ، برنامه خطایی نداره اما بعد از نصب روی گوشی هیچ کاری انجام نمیده ، لطف می کنید بررسی کنید ؟

package com.example.sendgpspointtosite;import java.lang.reflect.Method;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.location.Location;import android.location.LocationListener;import android.location.LocationManager;import android.net.Uri;import android.os.Bundle;import android.os.Handler;import android.provider.Settings;import android.telephony.TelephonyManager;import android.util.Log;import org.ksoap2.SoapEnvelope;import org.ksoap2.serialization.SoapObject;import org.ksoap2.serialization.SoapSerializationEnvelope;import org.ksoap2.transport.HttpTransportSE;public class SendGpsPoint extends BroadcastReceiver{private static String SOAP_ACTION1 = "http://tempuri.org/InsertFromMobile";   private static String NAMESPACE = "http://tempuri.org/";   private static String METHOD_NAME1 = "InsertFromMobile";   private static String URL = "http://gps.mashhad-cinema.ir/Services/GPSPointWS.asmx?WSDL";private static String IMEI;private static String GeographicLenght;private static String WidthLenght;private static String Height;private static String Speed;private static String Direction;private Context ctext;  public void onReceive(Context context, Intent intent) {        // TODO Auto-generated method stub	final Handler handler = new Handler();       final Thread r = new Thread() {           public void run() {               	toggleGPS(true);       		GetGpsLocation();       		handler.postDelayed(this, 120000);       		turnData(true);       		handler.postDelayed(this, 30000);       		TelephonyManager tManager = (TelephonyManager)ctext.getSystemService(Context.TELEPHONY_SERVICE);       		IMEI = tManager.getDeviceId();       		insertToHostDataBase();       		toggleGPS(false);       		turnData(false);               handler.postDelayed(this, 300000);           }       };        r.start();   }  private void insertToHostDataBase(){	SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME1);              //Use this to add parameters       request.addProperty("IMEI",IMEI.toString());       request.addProperty("GeographicLenght",GeographicLenght.toString());       request.addProperty("WidthLenght",WidthLenght.toString());       request.addProperty("Height",Height.toString());       request.addProperty("Speed",Speed.toString());       request.addProperty("Direction",Direction.toString());       //Declare the version of the SOAP request       SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);       envelope.setOutputSoapObject(request);       envelope.dotNet = true;       try {             HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);              //this is the actual part that will call the webservice             androidHttpTransport.call(SOAP_ACTION1, envelope);             // Get the SoapResult from the envelope body.             SoapObject result = (SoapObject)envelope.bodyIn;             if(result != null)             {                   //Get the first property and change the label text             }             else             {             }       } catch (Exception e) {       }}private void GetGpsLocation(){	try{        LocationManager locationManager = (LocationManager)ctext.getSystemService(Context.LOCATION_SERVICE);        final boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager.  GPS_PROVIDER);        if (gpsEnabled) {            //request for location updates            LocationListener locationListener = new MyLocationListener();            locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 10000, 0, locationListener);            Location myLocation;            myLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);            if(myLocation != null)            {                //we have a location!!            	GeographicLenght = 	Location.convert(myLocation.getLatitude(), Location.FORMAT_DEGREES);            	WidthLenght = Location.convert(myLocation.getLongitude(), Location.FORMAT_DEGREES);            	Height = Location.convert(myLocation.getAltitude(), Location.FORMAT_DEGREES);            	Speed = Float.toString(myLocation.getSpeed());             	Direction = "Unknow";            }        }        }        catch(Exception e)        {        }}public class MyLocationListener implements LocationListener   {   public void onLocationChanged(Location location) {   	location.getLatitude();   	location.getLongitude();       // TODO get accuracy, direction and speed.   }   public void onStatusChanged(String provider, int status, Bundle extras) {       // TODO Auto-generated method stub   }   public void onProviderDisabled(String provider) {       // TODO Auto-generated method stub   }   public void onProviderEnabled(String provider) {       // TODO Auto-generated method stub   }   }private void toggleGPS(boolean enable) {    String provider = Settings.Secure.getString(ctext.getContentResolver(),         Settings.Secure.LOCATION_PROVIDERS_ALLOWED);    if(provider.contains("gps") == enable) {        return; // the GPS is already in the requested state    }    final Intent poke = new Intent();    poke.setClassName("com.android.settings",         "com.android.settings.widget.SettingsAppWidgetProvider");    poke.addCategory(Intent.CATEGORY_ALTERNATIVE);    poke.setData(Uri.parse("3"));    ctext.sendBroadcast(poke);}void turnData(boolean ON){    try{         Method dataConnSwitchmethod;        Class telephonyManagerClass;        Object ITelephonyStub;        Class ITelephonyClass;        TelephonyManager telephonyManager = (TelephonyManager) ctext.getSystemService(Context.TELEPHONY_SERVICE);        telephonyManagerClass = Class.forName(telephonyManager.getClass().getName());    Method getITelephonyMethod = telephonyManagerClass.getDeclaredMethod("getITelephony");    getITelephonyMethod.setAccessible(true);    ITelephonyStub = getITelephonyMethod.invoke(telephonyManager);    ITelephonyClass = Class.forName(ITelephonyStub.getClass().getName());    if (ON) {         dataConnSwitchmethod = ITelephonyClass.getDeclaredMethod("enableDataConnectivity");     } else {        dataConnSwitchmethod = ITelephonyClass.getDeclaredMethod("disableDataConnectivity");    }    dataConnSwitchmethod.setAccessible(true);    dataConnSwitchmethod.invoke(ITelephonyStub);    }catch(Exception e){          Log.e("Error:",e.toString());    }}}

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


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

کاربر گرامی لطفا در تالار سوالات و رفع مشکل سوال خود را مطرح کنید،این تالار فقط برای آموزش میباشد. سوال شما تا ساعتی دیگر حذف خواهد شد پس آن را به تالار مربوطه انتقال دهید.:exclamation:

تاپیک قفل شد

تشکر

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


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

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط asd_60
      با سلام ،اینجانب بر ای یک پروژه نیاز به همکاری با برنامه نویس اندروید آشنا به wifi و انتقال صوت (voice over wifi)را دارم.  این همکاری در غالب پروژه با دستمزد تعیینی از طرف برنامه نویس می باشد.
      احسان نیری e.nairy@gmail.com
    • توسط saeed_sh


       
      سلام دوستان وقت بخیر
      من برنامه نویس مبتدی اندروید هستم
      میخوام یه صفحه مثل همین گیف رو که تهیه کردم رو درست کنم اما نمیدونم از کجا شروع کنم و از چه روش هایی استفاده کنم
      خودم فک میکنم باید با  custom listView اینکارو انجام بدم اما چون میخوام امکاناتی مثل ستاره دار کردن یا share کردن رو بهش اضافه کنم فک میکنم خیلی سنگین میشه
      راه ساده تری واسه ساختنش نیست ؟
      اگه میشه یکم توضیح بدین ومسیر ساختشو بگین تا یکم روش ساختش دستم بیاد (در ضمن اهنگ هایی  ک میخوام پخش شه داخل خود برنامه میخوام قرار بدم )
      ممنون
    • توسط کانون تابان شهر
       
      تاپیک ویرایش شد
      تبلیغ غیر مجاز
       
    • توسط Omid Zakeri
      این فریمورک مختص اندروید طراحی نشده ولی سبک بودن آن موجب شده‌است که بسیاری از برنامه نویسان از آن در برنامه‌های اندرویدی استفاده کنند. این فریم ورک جهت اتصالات JDBC وSpring و اندروید طراحی شده است.
       
       
      @DatabaseTable(tableName = "users") public class User { @DatabaseField(id = true) private String username; @DatabaseField private String password; public User() { // ORMLite needs a no-arg constructor } public User(String username, String password) { this.username = username; this.password = password; } // Implementing getter and setter methods public String getUserame() { return this.username; } public void setName(String username) { this.username = username; } public String getPassword() { return this.password; } public void setPassword(String password) { this.password = password; } }
    • توسط Omid Zakeri
      با آمدن ORM‌ها به دنیای برنامه نویسی، کار برنامه نویسی نسبت به قبل ساده‌تر و راحت‌تر شد. عدم استفاده کوئری‌های دستی، پشتیبانی از چند دیتابیس و از همه مهمتر و اصلی‌ترین هدف این ابزار "تنها درگیری با اشیا و مدل شیء گرایی" کار را پیش از پیش آسان‌تر نمود.
      در این بین به راحتی می‌توان چندین نمونه از این ORM‌ها را  نام برد مثل IBatis , Hibernate ,Nhibernate و EF که از معروفترین آن‌ها هستند.
      من در حال حاضر قصد شروع یک پروژه اندرویدی را دارم و دوست دارم بجای استفاده‌ی از Sqlitehelper، از یک ORM مناسب بهره ببرم که چند سوال برای من پیش می‌آید. آیا ORM ای برای آن تهیه شده است؟ اگر آری چندتا و کدامیک از آن‌ها بهتر هستند؟ شاید در اولین مورد کتابخانه‌ی Hibernate جاوا را نام ببرید؛ ولی توجه به این نکته ضروری است که ما در مورد پلتفرم موبایل و محدودیت‌های آن صحبت می‌کنیم. یک کتابخانه همانند Hibernate مطمئنا برای یک برنامه اندروید چه از نظر حجم نهایی برنامه و چه از نظر حجم بزرگش در اجرا، مشکل زا خواهد بود و وجود وابستگی‌های متعدد و دارا بودن بسیاری از قابلیت‌هایی که اصلا در بانک‌های اطلاعاتی موبایل قابل اجرا نیست، باعث می‌شود این فریمورک انتخاب خوبی برای یک برنامه اندروید نباشد.

      معیارهای انتخاب یک فریم ورک مناسب برای موبایل: 
      سبک بودن: مهمترین مورد سبک بودن آن است؛ چه از لحاظ اجرای برنامه و چه از لحاظ حجم نهایی برنامه سریع بودن: مطمئنا ORM‌های طراحی شده‌ی موجود، از سرعت خیلی بدی برخوردار نخواهند بود؛ اگر سر زبان هم افتاده باشند. ولی باز هم انتخاب سریع بودن یک ORM، مورد علاقه‌ی بسیاری از  ماهاست. یادگیری آسان و کانفیگ راحت تر. greenDAO-master.zip

  • دوره آموزشی اندروید ایران کانادا آموزش ویدئویی اندروید آموزش برنامه نویسی اندروید اندروید کاپ دوره آنلاین اندروید کتاب های آموزشی اندروید بسته آموزشی اندروید دوره برنامه نویسی اندروید آموزش Kotlin آموزش برنامه نویسی ios مهارت های فروش
    آموزش برنامه نویسی اندروید
  • فایل