saeid_kh

آموزش ارسال اس ام اس

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

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

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

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

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

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

[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

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


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

سلام

با تشکر

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

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


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

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

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

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


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

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

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

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

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


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

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

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


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