অ্যান্ড্রয়েডে রচনা এসএমএস দেখুন


167

আমি অ্যান্ড্রয়েড সহ একটি এসএমএস পাঠাতে চাই।

এসএমএস প্রেরণের উদ্দেশ্য কী?

আমি আমার পূর্বনির্ধারিত পাঠ্যের সাথে বার্তা ক্ষেত্রে প্রেরণ করে কমপোজ এসএমএস ভিউটি দেখাতে চাই।


1
পুরো গল্পের জন্য আপনার এই অধ্যায়টিকে পড়া উচিত ।
Nguyen মিন বিন

আমি এখানে কিছু অনুরূপ করছি !!! stackoverflow.com/questions/14452808/...
toobsco42

@ টোবস্কো 42: না, আপনি ঠিক অপোসাইট করছেন। আপনি নিজে এসএমএস পাঠাচ্ছেন এবং এই প্রশ্নটি স্ট্যান্ডার্ড এসএমএস অ্যাপ্লিকেশনটির মাধ্যমে কল করে
জানু হুডেক

আপনি ডুয়াল-সিম ডিভাইসের সহযোগিতা করতে পারে পাশাপাশি, এই দেখুন: stackoverflow.com/a/30677542/2267723
মাহের Abuthraa

এই নিবন্ধটি সহজেই অ্যান্ড্রয়েডে এসএমএস / এমএমএস ব্যাখ্যা করে, এসএমএস প্রেরণের জন্য এবং এসএমএস পাওয়ার জন্য সহজ কোডের উদাহরণ সরবরাহ করে: কোডেপ্রজেক্ট
আর্টিকেলস

উত্তর:


199

আপনি নিম্নলিখিত কোড ব্যবহার করতে পারেন:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("sms:"
                        + phoneNumber)));

আপনি যে phoneNumberফোন নম্বরটি বার্তাটি প্রেরণ করতে চান তাতে সেট করেছেন তা নিশ্চিত করুন

আপনি এসএমএসে (মন্তব্য থেকে) একটি বার্তা যুক্ত করতে পারেন:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("sms:" + phoneNumber));     
intent.putExtra("sms_body", message); 
startActivity(intent);

87
আপনার কোডের জন্য ধন্যবাদ এবং আমি যুক্ত করতে চাই, যেমন আমার পূর্বনির্ধারিত পাঠ্যটি রাখা দরকার put আমি এই সমাধানটি পেয়েছি ইন্টেন্ট ইন্টেন্ট = নতুন ইনটেন্ট (ইনটেন্ট.এ্যাকশন_ভিউ, উরি.পারস ("এসএমএস:" + ফোন নম্বর)); ইন্টেন্ট.পুটেক্সট্রা ("এসএমএস_বডি", বার্তা); startActivity (অভিপ্রায়);
djk

1
কিভাবে যোগাযোগের তালিকা থেকে "ফোন নম্বর" সেট করবেন?
Saeed

@ ডিজেকে ধন্যবাদ আমি সমস্ত পরিচিতি পড়তে চাই এবং অটো সম্পূর্ণ সহ এসএমএস প্রেরণের জন্য নিজের পৃষ্ঠা চাই তবে আমি পরিচিতিগুলিকে কোনও ভাল টিউটোরিয়াল পড়তে পারছি না?
গুরু

এটি করার জন্য আমি ডিফল্ট এসএমএস রচনা উইজেট ব্যবহার করব। কেবল ফোন নম্বরটি খালি রাখুন (এটি
alচ্ছিক

1
ওহে. আমি বাল্ক এসএমএস পাঠাতে চাই 10,000 টি এসএমএসের মতো একক ক্লিকে প্রেরণ করুন। এটা কি সম্ভব ? আমি অ্যান্ড্রয়েড প্রতি 30 মিনিটে 30 এসএমএস পাঠাতে শুনেছি। plz আমাকে সহায়তা করুন
ব্রজেশ

151

এটি আমার পক্ষে কাজ করেছে।

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button btnSendSMS = (Button) findViewById(R.id.btnSendSMS);
    btnSendSMS.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            sendSMS("5556", "Hi You got a message!");
           /*here i can send message to emulator 5556. In Real device 
            *you can change number*/
        }
    });
}

//Sends an SMS message to another device

private void sendSMS(String phoneNumber, String message) {
    SmsManager sms = SmsManager.getDefault();
    sms.sendTextMessage(phoneNumber, null, message, null, null);
}

আপনি এই লাইনটি AndroidManLive.xML এ যুক্ত করতে পারেন

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

এই একবার দেখুন

এটি আপনার পক্ষে সহায়ক হতে পারে।


11
প্রশ্নটি স্ট্যান্ডার্ড রচনা ভিউতে এসএমএসটি দেখানোর জন্য বলে। এটি ঠিক উল্টো, ব্যবহারকারীর পিছনে এসএমএস পাঠাচ্ছে, না?
জান হুডেক

এটিতে মেসেজ পাঠাতে ব্যর্থ হয় যদি এর মধ্যে অ্যাপ্রোথ্রোফ থাকে।
বার্সার্ক

39

sendSMS("99999999999", "message");পছন্দসই নাম্বারে এসএমএস প্রেরণের জন্য নীচের কোডটি চেষ্টা করুন এবং তারপরে কল করুন ।

//---sends an SMS message to another device---
@SuppressWarnings("deprecation")
private void sendSMS(String phoneNumber, String message)
{        
    Log.v("phoneNumber",phoneNumber);
    Log.v("MEssage",message);
    PendingIntent pi = PendingIntent.getActivity(this, 0,
    new Intent(this, **DummyClasshere.class**), 0);                
    SmsManager sms = SmsManager.getDefault();
    sms.sendTextMessage(phoneNumber, null, message, pi, null);        
}

নিম্নলিখিত অনুমতিটি AndroidManifest.xmlফাইলের মধ্যে রাখুন।

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

আশা করি এটি সাহায্য করবে।

মন্তব্য থেকে আপডেট করুন: ডামিক্লাসের.ক্লাস এমন কোনও ক্রিয়াকলাপ যা কোনও প্রক্রিয়া বা ক্লাসে আপনাকে নেভিগেট করার প্রয়োজন না করে is

আপনি ডামি ক্লাসের.ক্লাসের জায়গায় অবজেক্ট.ক্লাস ব্যবহার করতে পারেন।


কোনও প্রক্রিয়া না করেই একটি ক্রিয়াকলাপ or অন্যথায় যে শ্রেণীতে আপনাকে নেভিগেট করতে হবে ..
সেন্থিল এমজি

আমি শুধু ব্যবহার করি new Intent()এবং এটি এটি করে।
ওস্মিয়াম ইউএসএ

আপনি কীভাবে জানবেন যে বার্তা (এসএমএস) প্রেরণ করা হয়েছিল?
নিনজা কোডিং

28

এটি অবশ্যই কার্যকর হবে, এতে কোনও উদ্দেশ্য ব্যবহার না করে বার্তা প্রেরণ করুন।

SmsManager smsManager =     SmsManager.getDefault();
smsManager.sendTextMessage("Phone Number", null, "Message", null, null);

এই কোডটি পটভূমিতে বার্তা প্রেরণের জন্য ব্যবহৃত হয় (বার্তা রচয়িতা দেখানো হচ্ছে না) , এটি ব্রডকাস্ট রিসিভারের ভিতরেও কাজ করতে পারে । আপনি যদি ব্রডকাস্ট রিসিভার থেকে একটি বার্তা প্রেরণ করতে চান।

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

1
+1 টি। আমার প্রয়োজনের জন্য কাজ করেছেন। তবে আমি একটি জিনিস মিস করছি। এই বার্তাটি আমার প্রেরিত আইটেমগুলিতে উপস্থিত হয় না। কেন যে এত?
তাহির আকরাম

আমরা এসএমএস প্রেরণের জন্য ডিফল্ট ইনটেন প্রক্রিয়াটি ব্যবহার করি নি, আমরা কেবল এসএমএস পরিচালক ব্যবহার করছি are এসএমএস ম্যানেজারের লগ ধরে রাখার জন্য উদ্দেশ্য পূরণ করবে।
দ্বিবেদী জি

হ্যাঁ. এটা আমার জন্য খুব দরকারী। তবে এসএমএস প্রেরণের পরে প্রদত্ত নিশ্চিতকরণ বার্তার অর্থ এটি আরও ভাল হতে পারে।
গুণসিলান

3
আমি কেবল চেষ্টা করে এই ব্লকটি যুক্ত করার পরামর্শ দেব।
তানভীর শায়খ

10

অ্যান্ড্রয়েডে, আমাদের কাছে এসএমএস ম্যানেজার ক্লাস রয়েছে যা ডেটা, পাঠ্য এবং পিডিউ এসএমএস বার্তা প্রেরণের মতো এসএমএস অপারেশন পরিচালনা করে। স্থিতিশীল পদ্ধতি এসএমএস ম্যানেজ.জেটডিফল্ট () এ কল করে এই বস্তুটি পান।

এসএমএস ম্যানেজার জাভাদোক

এসএমএস প্রেরণের জন্য নমুনা কোড পেতে নিম্নলিখিত লিঙ্কটি চেক করুন:

অ্যান্ড্রয়েডে এসএমএস বার্তা প্রেরণ এবং গ্রহণ সম্পর্কিত নিবন্ধ


10

আশা করি এই কোডটি আপনাকে সাহায্য করবে :)

public class MainActivity extends Activity {
    private int mMessageSentParts;
    private int mMessageSentTotalParts;
    private int mMessageSentCount;
     String SENT = "SMS_SENT";
     String DELIVERED = "SMS_DELIVERED";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button=(Button)findViewById(R.id.button1);
        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                String phoneNumber = "0000000000";
                String message = "Hello World!";
                sendSMS(phoneNumber,message);


            }
        });



    }


    public void sendSMS(String phoneNumber,String message) {
        SmsManager smsManager = SmsManager.getDefault();


         String SENT = "SMS_SENT";
            String DELIVERED = "SMS_DELIVERED";

            SmsManager sms = SmsManager.getDefault();
            ArrayList<String> parts = sms.divideMessage(message);
            int messageCount = parts.size();

            Log.i("Message Count", "Message Count: " + messageCount);

            ArrayList<PendingIntent> deliveryIntents = new ArrayList<PendingIntent>();
            ArrayList<PendingIntent> sentIntents = new ArrayList<PendingIntent>();

            PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0);
            PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0);

            for (int j = 0; j < messageCount; j++) {
                sentIntents.add(sentPI);
                deliveryIntents.add(deliveredPI);
            }

            // ---when the SMS has been sent---
            registerReceiver(new BroadcastReceiver() {
                @Override
                public void onReceive(Context arg0, Intent arg1) {
                    switch (getResultCode()) {
                    case Activity.RESULT_OK:
                        Toast.makeText(getBaseContext(), "SMS sent",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                        Toast.makeText(getBaseContext(), "Generic failure",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_NO_SERVICE:
                        Toast.makeText(getBaseContext(), "No service",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_NULL_PDU:
                        Toast.makeText(getBaseContext(), "Null PDU",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_RADIO_OFF:
                        Toast.makeText(getBaseContext(), "Radio off",
                                Toast.LENGTH_SHORT).show();
                        break;
                    }
                }
            }, new IntentFilter(SENT));

            // ---when the SMS has been delivered---
            registerReceiver(new BroadcastReceiver() {
                @Override
                public void onReceive(Context arg0, Intent arg1) {
                    switch (getResultCode()) {

                    case Activity.RESULT_OK:
                        Toast.makeText(getBaseContext(), "SMS delivered",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case Activity.RESULT_CANCELED:
                        Toast.makeText(getBaseContext(), "SMS not delivered",
                                Toast.LENGTH_SHORT).show();
                        break;
                    }
                }
            }, new IntentFilter(DELIVERED));
  smsManager.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
           /* sms.sendMultipartTextMessage(phoneNumber, null, parts, sentIntents, deliveryIntents); */
    }
}

7

আমি যদি আমার এসএমএস পদ্ধতিটি কাউকে সহায়তা করতে পারি তবে যোগ করি। SmsManager.sendTextMessage সহ সতর্কতা অবলম্বন করুন, পাঠ্যটি যদি দীর্ঘ হয় তবে বার্তাটি যায় না। এনকোডিংয়ের উপর নির্ভর করে আপনার সর্বোচ্চ দৈর্ঘ্যকে সম্মান করতে হবে। এখানে আরও তথ্য এসএমএস ব্যবস্থাপক 160 টিরও কম অক্ষর থাকা অবস্থায় mutlipart বার্তা প্রেরণ করুন

// সর্বত্র ব্যবহার করতে

SMSUtils.sendSMS(context, phoneNumber, message);

// ম্যানিফেস্ট

<!-- SMS -->
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

 <receiver
     android:name=".SMSUtils"
     android:enabled="true"
     android:exported="true">
     <intent-filter>
         <action android:name="SMS_SENT"/>
         <action android:name="SMS_DELIVERED"/>
      </intent-filter>
 </receiver>

// জাভা

public class SMSUtils extends BroadcastReceiver {

    public static final String SENT_SMS_ACTION_NAME = "SMS_SENT";
    public static final String DELIVERED_SMS_ACTION_NAME = "SMS_DELIVERED";

    @Override
    public void onReceive(Context context, Intent intent) {
        //Detect l'envoie de sms
        if (intent.getAction().equals(SENT_SMS_ACTION_NAME)) {
            switch (getResultCode()) {
                case Activity.RESULT_OK: // Sms sent
                    Toast.makeText(context, context.getString(R.string.sms_send), Toast.LENGTH_LONG).show();
                    break;
                case SmsManager.RESULT_ERROR_GENERIC_FAILURE: // generic failure
                    Toast.makeText(context, context.getString(R.string.sms_not_send), Toast.LENGTH_LONG).show();
                    break;
                case SmsManager.RESULT_ERROR_NO_SERVICE: // No service
                    Toast.makeText(context, context.getString(R.string.sms_not_send_no_service), Toast.LENGTH_LONG).show();
                    break;
                case SmsManager.RESULT_ERROR_NULL_PDU: // null pdu
                    Toast.makeText(context, context.getString(R.string.sms_not_send), Toast.LENGTH_LONG).show();
                    break;
                case SmsManager.RESULT_ERROR_RADIO_OFF: //Radio off
                    Toast.makeText(context, context.getString(R.string.sms_not_send_no_radio), Toast.LENGTH_LONG).show();
                    break;
            }
        }
        //detect la reception d'un sms
        else if (intent.getAction().equals(DELIVERED_SMS_ACTION_NAME)) {
            switch (getResultCode()) {
                case Activity.RESULT_OK:
                    Toast.makeText(context, context.getString(R.string.sms_receive), Toast.LENGTH_LONG).show();
                    break;
                case Activity.RESULT_CANCELED:
                    Toast.makeText(context, context.getString(R.string.sms_not_receive), Toast.LENGTH_LONG).show();
                    break;
            }
        }
    }

    /**
     * Test if device can send SMS
     * @param context
     * @return
     */
    public static boolean canSendSMS(Context context) {
        return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY);
    }

    public static void sendSMS(final Context context, String phoneNumber, String message) {

        if (!canSendSMS(context)) {
            Toast.makeText(context, context.getString(R.string.cannot_send_sms), Toast.LENGTH_LONG).show();
            return;
        }

        PendingIntent sentPI = PendingIntent.getBroadcast(context, 0, new Intent(SENT_SMS_ACTION_NAME), 0);
        PendingIntent deliveredPI = PendingIntent.getBroadcast(context, 0, new Intent(DELIVERED_SMS_ACTION_NAME), 0);

        final SMSUtils smsUtils = new SMSUtils();
        //register for sending and delivery
        context.registerReceiver(smsUtils, new IntentFilter(SMSUtils.SENT_SMS_ACTION_NAME));
        context.registerReceiver(smsUtils, new IntentFilter(DELIVERED_SMS_ACTION_NAME));

        SmsManager sms = SmsManager.getDefault();
        ArrayList<String> parts = sms.divideMessage(message);

        ArrayList<PendingIntent> sendList = new ArrayList<>();
        sendList.add(sentPI);

        ArrayList<PendingIntent> deliverList = new ArrayList<>();
        deliverList.add(deliveredPI);

        sms.sendMultipartTextMessage(phoneNumber, null, parts, sendList, deliverList);

        //we unsubscribed in 10 seconds 
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                context.unregisterReceiver(smsUtils);
            }
        }, 10000);

    }
}

5
String phoneNumber = "0123456789";
String message = "Hello World!";

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber, null, message, null, null);

আপনার AndroidManLive.xML ফাইলে নিম্নলিখিত অনুমতিটি অন্তর্ভুক্ত করুন

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

4

উপরে বর্ণিত কিছুগুলির অর্থ কেবলমাত্র 'আরম্ভের জন্য প্রস্তুত' অবস্থায় একটি এসএমএস দেওয়ার জন্য is সেন্থিল এমজি যেমন বলেছিলেন আপনি সরাসরি এসএমএস প্রেরণের জন্য এসএমএস পরিচালক ব্যবহার করতে পারেন তবে SMSManagerএতে স্থানান্তরিত হয়েছেandroid.telephony.SmsManager

আমি জানি এটা না অনেক বেশি তথ্য, কিন্তু এটি অন্য কারো একদিন সাহায্য করতে পারে।


প্রশ্নটি স্পষ্টভাবে নিজেকে এসএমএস না প্রেরণের জন্য জিজ্ঞাসা করে ।
জানু হুডেক

3

আশা করি এটি আপনাকে সহায়তা করতে পারে ...

ফাইলের নাম = MainActivity.java

import android.os.Bundle;
import android.app.Activity;
import android.telephony.SmsManager;
import android.view.Menu;
import android.view.inputmethod.InputMethodManager;
import android.widget.*;
import android.view.View.OnClickListener;
import android.view.*;


public class MainActivity extends Activity implements OnClickListener{


  Button click;
  EditText txt;
  TextView txtvw;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    click = (Button)findViewById(R.id.button);
    txt = (EditText)findViewById(R.id.editText);
    txtvw = (TextView)findViewById(R.id.textView1);

    click.setOnClickListener(this);
}

@Override
public void onClick(View v){


    txt.setText("");
    v = this.getCurrentFocus();

    try{
        SmsManager sms = SmsManager.getDefault();
        sms.sendTextMessage("8017891398",null,"Sent from Android",null,null);
    }
    catch(Exception e){
        txtvw.setText("Message not sent!");
    }
    if(v != null){
        InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(v.getWindowToken(),0);
    }

}

@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;
  }

}

এই লাইনটি AndroidManLive.xML এ যুক্ত করুন this

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

এখানে চিত্র বর্ণনা লিখুন


3

এটি বিদ্যমান অ্যাপের মাধ্যমে পাঠ্য বার্তা প্রেরণ করতে দেয়। ফোন নাম্বার - স্ট্রিং। আপনি যদি ফোন নম্বর নির্দিষ্ট করতে না চান তবে খালি স্ট্রিং ব্যবহার করুন ""।

Intent sendIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("smsto", phoneNumber, null));
sendIntent.putExtra("sms_body", "text message");
startActivity(sendIntent);

2

কিটকাট এবং উপরের এসএমএস করুন: - আপনার AndroidManLive.xML এ এই অনুমতিটি যুক্ত করুন x

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

মার্শমেলো এবং উপরের সংস্করণে আপনাকে রানটাইম অনুমতিও প্রয়োগ করতে হবে ।

Andro আইডি

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.defaultmessanginggit">

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

    <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=".ConversationListActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".ComposeSMSActivity"
            android:label="@string/title_activity_compose_sms" >
        </activity>
    </application>

</manifest>

নীচে দেওয়া হবে যা কোড: -

activity_conversation_list.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical">

    <Button
        android:id="@+id/btn_send_msg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Message" />
</LinearLayout> 

ConversationListActivity.java

public class ConversationListActivity extends FragmentActivity {

    /**
     * Whether or not the activity is in two-pane mode, i.e. running on a tablet
     * device.
     */
    private int PERMISSIONS_REQUEST_RECEIVE_SMS = 130;
    private Button btn_send_sms;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_conversation_list);

        btn_send_sms = (Button) findViewById(R.id.btn_send_msg);

        btn_send_sms.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                int hasSendSMSPermission = 0;
                if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
                    hasSendSMSPermission = checkSelfPermission(Manifest.permission.SEND_SMS);
                    if (hasSendSMSPermission != PackageManager.PERMISSION_GRANTED) {
                        requestPermissions(new String[]{Manifest.permission.SEND_SMS},
                                PERMISSIONS_REQUEST_RECEIVE_SMS);
                    } else if (hasSendSMSPermission == PackageManager.PERMISSION_GRANTED) {
                        Intent intent = new Intent(ConversationListActivity.this, ComposeSMSActivity.class);
                        startActivity(intent);
                    }
                }else{
                    Intent intent = new Intent(ConversationListActivity.this, ComposeSMSActivity.class);
                    startActivity(intent);
                }
            }
        });
    }
}

এটি এসএমএস লেআউট এবং এসএমএস প্রেরণের জন্য কোড:

activity_compose_sms.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:ignore="MergeRootFrame" />
</LinearLayout>

fragment_compose_sms.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:paddingTop="16dp"
    android:paddingBottom="16dp">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true">

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/compose_to"
                android:id="@+id/textView"
                android:layout_gravity="center_vertical" />

            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="phone"
                android:ems="10"
                android:id="@+id/composeEditTextTo" />
        </LinearLayout>

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/compose_message"
                android:id="@+id/textView2"
                android:layout_gravity="center_vertical" />

            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="textMultiLine"
                android:ems="10"
                android:id="@+id/composeEditTextMessage"
                android:layout_weight="1" />

        </LinearLayout>

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/compose_cancel"
                android:id="@+id/composeButtonCancel" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/compose_send"
                android:id="@+id/composeButtonSend" />
        </LinearLayout>

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingTop="10dp"
            android:id="@+id/composeNotDefault"
            android:visibility="invisible">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:text="@string/compose_not_default"
                android:id="@id/composeNotDefault" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/compose_set_default"
                android:id="@+id/composeButtonSetDefault" />
        </LinearLayout>


    </LinearLayout>
</RelativeLayout>

ComposeSMSActivity.java

public class ComposeSMSActivity extends Activity {

    Activity mActivity;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_compose_sms);

        mActivity = this;

        if (savedInstanceState == null) {
            getFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment())
                    .commit();
        }

        getActionBar().setDisplayHomeAsUpEnabled(true);

    }

    public static class PlaceholderFragment extends Fragment {

        public PlaceholderFragment() {
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            final View rootView = inflater.inflate(R.layout.fragment_compose_sms, container, false);

            rootView.findViewById(R.id.composeButtonCancel).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    NavUtils.navigateUpTo(getActivity(), new Intent(getActivity(), ConversationListActivity.class));
                }
            });

            rootView.findViewById(R.id.composeButtonSend).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String recipient = ((TextView) rootView.findViewById(R.id.composeEditTextTo)).getText().toString();
                    String message = ((TextView) rootView.findViewById(R.id.composeEditTextMessage)).getText().toString();

                    SmsManager smsManager = SmsManager.getDefault();
                    smsManager.sendTextMessage(recipient, "ME", message, null, null);
                }
            });

            return rootView;
        }
    }
}

এটাই.


0

আপনি যে কোনও সংখ্যায় এসএমএস পাঠাতে এটি ব্যবহার করতে পারেন:

 public void sendsms(View view) {
        String phoneNumber = "+880xxxxxxxxxx";
        String message = "Welcome to sms";
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("sms:" + phoneNumber));
        intent.putExtra("sms_body", message);
        startActivity(intent);
    }

1
আপডেট: আপনি এসএমএস প্রেরণের জন্য যদি ইন্টেন্ট ব্যবহার করেন তবে আপনার android.permission.SEND_SMS অনুমতি দরকার নেই।
নাফিস আহমেদ

0

ব্যবহারকারীকে কেবল পরিচিতি থেকে চয়ন করতে দেওয়ার জন্য আপনি টেল নম্বর বাদ দিতে পারেন, তবে আপনার এসএমএস পাঠ্যটি শরীরে .োকাতে। কোডটি জামারিন অ্যান্ড্রয়েডের জন্য:

    var uri = Uri.Parse("smsto:"); //append your number here for explicit nb
    var intent = new Intent(Intent.ActionSendto, uri);
    intent.PutExtra("sms_body", text);
    Context.StartActivity(intent);

কোথায়

প্রসঙ্গটি হ'ল Xamarin.Essentials.Platform.CurrentActivity ?? Application.Context

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.