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:

تاپیک قفل شد

تشکر

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


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

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط شاهرخ جهان زاده
      آیا تا به حال شده که بعد از ارائه اپلیکشن پیغامهایی از طرف کاربران دریافت کنید که ناشی از بسته شدن اپ در حین کار باشه؟
      در اینگونه مواقع علاوه بر زمانبر بودن پیدا کردن خطا، شاهد ریزش شدید کاربران اپ خواهید بود. پس بهتر است قبل از ارائه اپ در بازار یا Google Play تمهیداتی را برای اطلاع از پیغامهای احتمالی در نظر بگیرید.
      یکی از ابزارهای بسیار مفید استفاده کردن از کتبخانه هایی هست مه برای انجام این کار در نظر گرفته شده است، به عنوان مثال کتابخانه ACRA این کار را با ارسال ایمیل برای شما به راحتی انجام میدهد.
      استفاده کردن از این کتابخانه بسیار راحت هست.
      در قدم اول باید کتابخانه ACRA را به عنوان dependency به build.gradle اضافه کنید:
      compile 'ch.acra:acra:4.9.2' در قدم بعدی کلاس Application را بسازید و متدهای مربوطه برای ACRA را در آن پیاده سازی کنید:
      @ReportsCrashes( formUri = "", mailTo = "yourmail@yourdomain.com", customReportContent = { ReportField.APP_VERSION_CODE, ReportField.APP_VERSION_NAME, ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL, ReportField.BRAND, ReportField.CUSTOM_DATA, ReportField.INITIAL_CONFIGURATION, ReportField.CRASH_CONFIGURATION, ReportField.USER_CRASH_DATE, ReportField.STACK_TRACE, ReportField.LOGCAT}, resToastText = R.string.crash_toast_text, mode = ReportingInteractionMode.TOAST) public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); ACRA.init(this); } } در بخش ReportField همانطور که میبینید، اطلاعاتی که قرار است به ایمیلتان ارسال گردد را وارد میکنیم.
      در قدم آخر فایل Manifest را باز کرده و دسترسی های مربوطه و همچنین کلاس Application را در تگ application وارد کنید:
      <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.acrademo"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_LOGS" /> <application android:name=".MyApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" 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> </application> </manifest> برای تست عملکرد کدها، یک دکمه بسازید و سپس کدهایی را برای آن وارد کنید که باعث کرش شدن اپ گردد...
      public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void onCrash(View view){ throw new RuntimeException("App Crashed"); } } منبع: www.asifmoinulislam.com
    • توسط aliarha
      با سلام خدمت همه کاربران و مدیران انجمن p30droid
      این اولین پست منه و خیلی علاقه مند به یادگیری برنامه نویسی اندروید دارم ، (رایگان / پولی)
      درخواستی که از عزیزان دارم اگه لطف کنید پاسخ کاملی بدین ممنون میشم
      من تقریبا طراحی سایت بلدم و درصد یادگیریم بد نیست ، میخواستم بدون بهترین برنامه برای استارت کارم اندروید استودیو هست ؟
      دنبال آموزشی کامل هستم (رایگان یا پولی فرقی نداره) فقط مدیران یا کاربران تایید کنن ، آموزشی همراه با ساخت یک پروژه از 0 تا 100
      تشکر
    • توسط m.abaszadeh1777
      باعرض سلام وخسته نباشيد وتبريک سال نو
       من دارم روي يک پروژه کار ميکنم که دران دريک قسمت(در ريسايکل ويو) ميخوام وقتي روي يه دکمه کليک ميشود فايل پي دي اف رو دانلود کنه و بعد با نرم افزار پي دي اف ريدر نمايش بده
      اگه کمکم کنيد ممنون ميشم
    • توسط evill
      سلام دارم برنامه فروشگاهی میسازم انتخاب قیمت محصول جوریه که کاربر خودش باید انتخاب کنه از بین چند تا مورد این فایلی که فرستادم ببینین متوجه منظورم میشین
       
      من داخل برنامه دو تا اسپینر گذاشتم که اطلاعاتش رو از سرور میگیرم و داخل اسپینر ست میکنم که با انتخاب هر کدوم ای دی خودشو برمیگردونه تا اینجا درسته مشکلی نیست
      ولی برنامه ی لیست قیمت داره که براساس ای دی این دوتا اسپینرباید مشخص بشه  یعنی مثلا اسپینر اول ای دی 5 برگردونه و اسپینر دوم ای دی مثلا3 اینجا باید ما
      سرچ بزنیم تو لیست قیمت ها که ای دی 5و3 قیمتش چنده ... به نظرتون اینو چجوری پیاده کنم ایا میشه تو arraylist بریزم و روش حالت سرچ بذارم و اندیس رو برگردونه. اصلا  میشه با arraylist همچین کاری کرد؟  یا تو دیتابیس بریزم؟  دوستان اگه راه حل بهتری دارن لطفا راهنمایی کنن  ممنون
      جیسون قیمت ها به این شکله
      [
        {
          "cat": "1",
          "type": "0",
          "size": "33",
          "price": "4800"
        },
        {
          "cat": "1",
          "type": "0",
          "size": "34",
          "price": "7200"
        },
      ]
      20180305_163147.mp4
    • توسط Farzad Sarseifi
      دانلود کتاب Android Development with Kotlin

      امروزه روند توسعه نرم افزار اندروید بسیار گسترده شده است. در طول چند سال اخیر، ما شاهد چگونگی پیشرفت ابزارهای مختلفی هستیم تا زندگی ما را ساده‌تر کند. با این حال، یکی از عناصر اصلی فرآیند توسعه نرم افزار اندروید یعنی جاوا در طول این مدت تغییر زیادی نکرده است. پلتفرم اندروید خود را با نسخه‌های جدیدتر جاوا سازگار می‌کند، ولی برای استفاده از آن ها، ما باید مدت زمان بسیار زیادی را صبر کنیم تا دستگاه‌های جدید اندرویدی به فروش مناسب بازار دست یابند. همچنین، توسعه برنامه‌ها با جاوا چالش‌های خود را به همراه دارد، چرا که جاوا زبانی قدیمی با بسیاری از مشکلات طراحی است که به واسطه محدودیت‌های سازگاری با نسخه‌های قدیمی، نمی‌توانند به سادگی حل شوند.
      از سویی دیگر Kotlin، زبانی جدید ولی پایدار است که بر روی همه‌ی دستگاه‌های اندرویدی اجرا می‌شود و بسیاری از مشکلاتی که جاوا قادر به حل آن نبود را حل می‌کند. Kotlin زبان فوق العاده ای است که زندگی توسعه دهنده را بسیار راحت‌تر می‌کند و اجازه می‌دهد تا کد امن تر، بیان گر‌تر و خلاصه‌تر ایجاد شود.
      کتاب توسعه اندروید با Kotlin، راهنمایی عملی است که به شما کمک می‌کند تا با استفاده از زبان Kotlin، روند توسعه اندروید را بهبود داده و به آن سرعت بخشید. ما میان برها و پیشرفت‌های زیاد نسبت به جاوا و راه‌های جدیدی حل مسائل رایج را ارائه دادیم. در پایان این کتاب، شما با ویژگی‌ها و ابزار‌های Kotlin آشنا خواهید شد و شما قادر خواهید بود که برنامه ای اندرویدی را با کاملا با Kotlin توسعه دهید.
       
      What You Will Learn
      Run a Kotlin application and understand the integration with Android Studio
      Incorporate Kotlin into new/existing Android Java based project
      Learn about Kotlin type system to deal with null safety and immutability
      Define various types of classes and deal with properties
      Define collections and transform them in functional way
      Define extensions, new behaviours to existing libraries and Android framework classes
      Use generic type variance modifiers to define subtyping relationship between generic types
      Build a sample application
       Table of Contents
      1: BEGINNING YOUR KOTLIN ADVENTURE
      2: LAYING A FOUNDATION
      3: PLAYING WITH FUNCTIONS
      4: CLASSES AND OBJECTS
      5: FUNCTIONS AS FIRST-CLASS CITIZENS
      6: GENERICS ARE YOUR FRIENDS
      7: EXTENSION FUNCTIONS AND PROPERTIES
      8: DELEGATES
      9: MAKING YOUR MARVEL GALLERY APPLICATION
       
      دانلود
      Packt.Android.Development.with.Kotlin.epub
       

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