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

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

با سلام به کاربران سایت پی سی دروید

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

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

خب بریم سراغ آموزش:

ابتدا یک پروژه جدید ایجاد کنید و کدهای فایل اکتیوتی پوشه لاویت رو بصورت زیر تغییر بدین

[shcode=xml][/shcode]

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context=".MainActivity" >

   

        android:id="@+id/message"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_centerVertical="true"

        android:ems="10"

        android:hint="متن" />

   

        android:id="@+id/number"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_above="@+id/message"

        android:layout_alignLeft="@+id/message"

        android:layout_marginBottom="14dp"

        android:ems="10"

        android:hint="شماره" />

   

        android:id="@+id/send"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_below="@+id/message"

        android:layout_centerHorizontal="true"

        android:layout_marginTop="19dp"

        android:text="ارسال مستقیم" />

[shcode=xml][/shcode]

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

حال میریم سراغ فایل جاوا که این عناصر رو به فایل جاوا وصل کنیو و ادامه ماجرا...

[shcode=java]package com.sms.smssender;

import android.os.Bundle;

import android.app.Activity;

import android.telephony.SmsManager;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

public class MainActivity extends Activity {

    public void sendSms(String number, String message){

        SmsManager smsManager = SmsManager.getDefault();

        smsManager.sendTextMessage(number, null, message, null, null);

        Toast.makeText(getApplicationContext(), "پیام بصورت مستقیم ارسال شد شما می توانید در برنامه اس ام اس پیش فرض گوشی پیام را مشاهده کنید", Toast.LENGTH_SHORT).show();

    }

   

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

       

        //send Button

        Button send = (Button) findViewById(R.id.send);

        send.setOnClickListener(new OnClickListener() {

              

                @Override

                public void onClick(View v) {

                    //Get number to send

                    EditText number = (EditText) findViewById(R.id.number);

                    String phoneNumber = number.getText().toString();

                    //Get message text

                    EditText message = (EditText) findViewById(R.id.message);

                    String messageText = message.getText().toString();

                    //Call sendSms class

                    sendSms(phoneNumber, messageText);

                }

        });

       

    }

   

}

[/shcode]

الان همون طور که می بنید عناصر رو معرفی کردیم و سایر کدها که خیلی واضحه دیگه توضیح نمیدم

در اخر هم دسترسی ارسال اس ام اس رو در فایل منیفست قرار می دهیم

[shcode=xml]   

[/shcode]

دوستان اگر مشکلی بود بگن در سریع ترین زمان به سوالاتشون جواب داده میشه

اینم فایل apk آموزش

[attachment=890]

موفق پیروز باشید.

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

با سلام و تشکرمتاسفانه مشکلی که من داشتم در اینجا هم خودش را نشان داد  فایل خروجی شما یعنی apk  را روی گوشیم ریختم ولی کار نمیکنه و پیام :unfortunately,smssender has stoped  می دهد.

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

با سلام و تشکرمتاسفانه مشکلی که من داشتم در اینجا هم خودش را نشان داد  فایل خروجی شما یعنی apk  را روی گوشیم ریختم ولی کار نمیکنه و پیام :unfortunately,smssender has stoped  می دهد.

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

یعنی حتی وارد برنامه هم نمیشه؟

لطفا بر روی یک گوشی با اندروید کمتر از 5 امتحان کنید و نتیجه رو ببنید ایا بازم خطا میده یا نه

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

روی گوشی خودم و دوستان که طبیعتا به روز هستند وارد برنامه میشه ولی در هنگام ارسال اس ام اس پیام خطای عدم ارسال می دهد

روی گوشی با اندروید 2.1 هم اصلا کار نکرد یعنی اصلا نصب نمیشه.

واقعا مستاصل شدم نمیدونم مشکل کجاست؟ یعنی ممکنه این تابع ارسال اس ام اس فقط برای اندروید خاصی کار کنه ؟

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

بله کمترین نسخه اندروید رو 2.1 انتخاب کرده بودم که کمتر از اون اجرا نشه

در گوشی های اندروید جدید فکر کنم اندروید6 به بعد برای درست کار کردن دسترسی ها که در فایل منیفیست ایجاد کردیم باید یک تابع به خصوصی بنویسیم تا این دسترسی باز بشه برای گوشی

فکر کنم فهمیدم مشکل شما کجاست

هم می تونید بصورت دستی اجازه دسترسی رو از داخل تنظیمات گوشی تون باز کنین(البته اگر بلد باشین)

یا اینکه من کدش رو مینویسم و داخل برنامه قرار میدم بعد چک کنید ببینید ایندفه درست کار میکنه یا نه

در اولین فرصت فایل ویرایش شده رو در همین پست قرار میدم

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

دوسته عزیز حدسم درست بود

نه کدهایی که شما خودت نوشتی اشتباه نه کدهای آموزش

دلیل اینکه شما نمیتونی در گوشی خودت از این کدها اجرا بگیری اینه که نسخه اندروید گوشی شما از5.1 بیشتر هستش و برای همین باید برای دسترسی به اجازه ای که در فایل منیفیست قرار دادیم یه سری کد بزنیم

یا راحترین راه اینه که شما از داخل تنظیمات گوشی اگر بگردی حتما یه بخشی رو پیدا میکنی که اجازه دسترسی به منفیست رو از حالت قفل در میاره

من یکمی سرم شلوغه نهایتا تا یکی دو روزه دیگه کدشو قرار میدم

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

ممنون از پیگیری و پاسخ شما

من لازم دارم از داخل برنامه بتوانم اس ام اس ارسال کنم بدون تغییر در تنظیمات گوشی

چون نمیتوانم کاربر برنامه را ملزم به تغییر تنظیمات بکنم

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

با تشکر

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

خواهش می کنم

شما از این لینک ها می تونید استفاده کنید

تو این لینک کلا یه آموزش نوشته شده که کار میکنه

http://stackoverflow.com/questions/34959285/android-send-sms-cannot-work

اینا هم راهنمایی واسه استفاده از permission ها در اندورید های بالا

https://www.learn2crack.com/2015/10/android-marshmallow-permissions.html

https://inthecheesefactory.com/blog/things-you-need-to-know-about-android-m-permission-developer-edition/en

اینم یه کتابخونه واسه این کار

https://github.com/Karumi/Dexter

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

در حال حاضر من خودمم برای یه پروژه ای که در دستم هست همین مشکل رو دارم ولی برای دسترسی پرداخت درون برنامه ای

اگر مشکل رو رفع کنم حتما در اینجا قرار میدم دوست عزیز

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

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

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

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

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

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

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

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

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

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