android সহজ একটি অভিপ্রায় সঙ্গে এসএমএস অ্যাপ্লিকেশন আরম্ভ করুন




মেসেজ হ্যাক (15)

এসএমএস কার্যক্রম শুরু করার জন্য আপনার যা দরকার তা হল:

Intent sendIntent = new Intent(Intent.ACTION_VIEW);         
sendIntent.setData(Uri.parse("sms:"));

আপনি আপনার নিজের বার্তা এবং এই মত পোষাক অতিরিক্ত যোগ করতে পারেন

sendIntent.putExtra("sms_body", x); 

তারপর শুধু অভিপ্রায় সঙ্গে অ্যাক্টিভিটি শুরু।

startActivity(sendIntent);

আমি একটি অভিপ্রায় সম্পর্কে একটি প্রশ্ন আছে ... আমি এসএমএস অ্যাপ্লিকেশন চালু করার চেষ্টা করি ...

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setType("vnd.android-dir/mms-sms");
int flags = Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP |
    Intent.FLAG_ACTIVITY_CLEAR_TOP;
intent.setFlags(flags);
intent.setData(Uri.parse("content://sms/inbox"));
context.startActivity(intent);

তাই, আপনি দেখতে পারেন যে আমি আমার অভিপ্রায় খুব বেশি জিনিস রাখি, কিন্তু কারণ আমি জানি না আমি কী করতে পারি ... ধন্যবাদ


try {
    Intent smsIntent = new Intent(Intent.ACTION_VIEW);
    smsIntent.setData(Uri.parse("smsto:" + Uri.encode(number)));
    smsIntent.putExtra("address", number);
    smsIntent.putExtra("sms_body", message);

    PackageManager pm = activity.getPackageManager();
    List<ResolveInfo> resInfo = pm.queryIntentActivities(smsIntent, 0);

    for (int i = 0; i < resInfo.size(); i++) {
        ResolveInfo ri = resInfo.get(i);
        String packageName = ri.activityInfo.packageName;

        if (packageName.contains("sms")) {
            //Log.d("TAG", packageName + " : " + ri.activityInfo.name);
            smsIntent.setComponent(new ComponentName(packageName, ri.activityInfo.name));
        }
    }
    activity.startActivity(smsIntent);
} catch (Exception e) {
    // Handle Error
}

এই কাজ করার সেরা উপায়।


আমি ব্যবহার করি:

Intent sendIntent = new Intent(Intent.ACTION_MAIN);
sendIntent.putExtra("sms_body", "text");
sendIntent.setType("vnd.android-dir/mms-sms");
startActivity(sendIntent);

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
//CHANGE YOUR MESSAGING ACTIVITY HERE IF REQUIRED 
sendIntent.setClassName("com.android.mms", "com.android.mms.ui.ComposeMessageActivity");
sendIntent.putExtra("sms_body",msgbody); 
sendIntent.putExtra("address",phonenumber);
//FOR MMS
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/mms.png"));
sendIntent.setType("image/png");
startActivity(sendIntent);

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setType("vnd.android-dir/mms-sms");
startActivity(intent);

যে আপনি প্রয়োজন।


এমুলেটর আমার জন্য এই কাজ

Intent i = new Intent(Intent.ACTION_VIEW, Uri.fromParts("sms", number, null));
                i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                i.putExtra("sms_body", remindingReason);

                startActivity(i);

ব্যবহার

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setClassName("com.android.mms", "com.android.mms.ui.ConversationList");

Intent smsIntent = new Intent(Intent.ACTION_VIEW);
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.putExtra("address", "12125551212");
smsIntent.putExtra("sms_body","Body of Message");
startActivity(smsIntent);

Intent eventIntentMessage =getPackageManager()
 .getLaunchIntentForPackage(Telephony.Sms.getDefaultSmsPackage(getApplicationContext));
startActivity(eventIntentMessage);

ডিফল্ট এসএমএস অ্যাপ্লিকেশন দিয়ে কাজ করে যে সেরা কোড।

Uri SMS_URI = Uri.parse("smsto:+92324502****"); //Replace the phone number
Intent sms = new Intent(Intent.ACTION_VIEW,SMS_URI);    
sms.putExtra("sms_body","This is test message"); //Replace the message witha a vairable 
startActivity(sms);

যদি অ্যান্ড্রয়েড সংস্করণটি কিটক্যাট বা উপরে থাকে তবে ব্যবহারকারীরা ডিফল্ট এসএমএস অ্যাপ্লিকেশন পরিবর্তন করতে পারে। এই পদ্ধতি ডিফল্ট এসএমএস অ্যাপ্লিকেশন পাবেন এবং ডিফল্ট এসএমএস অ্যাপ্লিকেশন শুরু হবে।

private void sendSMS() {    
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) // At least KitKat
      {
         String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(this); // Need to change the build to API 19

         Intent sendIntent = new Intent(Intent.ACTION_SEND);
         sendIntent.setType("text/plain");
         sendIntent.putExtra(Intent.EXTRA_TEXT, "text");

         if (defaultSmsPackageName != null)// Can be null in case that there is no default, then the user would be able to choose
         // any app that support this intent.
         {
            sendIntent.setPackage(defaultSmsPackageName);
         }
         startActivity(sendIntent);

      }
      else // For early versions, do what worked for you before.
      {
         Intent smsIntent = new Intent(android.content.Intent.ACTION_VIEW);
         smsIntent.setType("vnd.android-dir/mms-sms");
         smsIntent.putExtra("address","phoneNumber");         
         smsIntent.putExtra("sms_body","message");
         startActivity(smsIntent);
      }
   }

নীচের কোড অ্যান্ড্রয়েড 6.0 কাজ করে।
এটি সরবরাহকৃত নির্দিষ্ট স্ট্রিং সম্পর্কিত কথোপকথনগুলির সাথে ডিফল্ট মেসেজিং অ্যাপ্লিকেশানে অনুসন্ধান ক্রিয়াকলাপ খুলবে।

Intent smsIntent = new Intent(Intent.ACTION_MAIN);
        smsIntent.addCategory(Intent.CATEGORY_LAUNCHER);
        smsIntent.setClassName("com.android.mms", "com.android.mms.ui.SearchActivity");
        smsIntent.putExtra("intent_extra_data_key", "string_to_search_for");
        startActivity(smsIntent);  

আপনি একটি অভিপ্রায় সঙ্গে অনুসন্ধান কার্যকলাপ শুরু করতে পারেন। এটি ডিফল্ট মেসেজিং অ্যাপ্লিকেশনের অনুসন্ধান ক্রিয়াকলাপ খুলবে। এখন, অনুসন্ধান ক্রিয়াকলাপে নির্দিষ্ট কথোপকথনগুলির একটি তালিকা দেখানোর জন্য, আপনি অনুসন্ধান স্ট্রিংটিকে কী দিয়ে অতিরিক্ত স্ট্রিং হিসাবে সরবরাহ করতে পারেন

"Intent_extra_data_key"

হিসাবে এই শ্রেণীর উপর তৈরি করা হয়

String searchStringParameter = getIntent().getStringExtra(SearchManager.QUERY);
    if (searchStringParameter == null) {
        searchStringParameter = getIntent().getStringExtra("intent_extra_data_key" /*SearchManager.SUGGEST_COLUMN_INTENT_EXTRA_DATA*/);
    }
    final String searchString = searchStringParameter != null ? searchStringParameter.trim() : searchStringParameter;

আপনি এসএমএসের SENDER_ADDRESS এছাড়াও স্ট্রিং অতিরিক্ত হিসাবে পাস করতে পারেন, যা সেই নির্দিষ্ট প্রেরকের ঠিকানা সহ সমস্ত কথোপকথন তালিকাবদ্ধ করবে।

আরো তথ্যের জন্য com.android.mms.ui.SearchActivity চেক করুন

আপনি এই উত্তর চেক করতে পারেন


এসএমএস রচনা করুন:

Uri smsUri = Uri.parse("tel:" + to);
Intent intent = new Intent(Intent.ACTION_VIEW, smsUri);
intent.putExtra("address", to);
intent.putExtra("sms_body", message);
intent.setType("vnd.android-dir/mms-sms");
startActivity(intent);

এখানে এমন কোডটি যা এসএমএস কার্যকলাপটি চালু করবে যা এসএমএসটি পাঠানো হবে সেই ফোন নাম্বার দিয়ে। এই এমুলেটর পাশাপাশি ডিভাইস ভাল কাজ করে

Intent smsIntent = new Intent(Intent.ACTION_SENDTO);
smsIntent.addCategory(Intent.CATEGORY_DEFAULT);
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.setData(Uri.parse("sms:" + phoneNumber); 

আপনি যদি আপনার অন্য কিছু কার্যকলাপ থেকে এসএমএস রচনা কার্যক্রম শুরু করতে চান এবং আপনাকে একটি ফোন নম্বর এবং এসএমএস পাঠ্যও পাস করতে হবে তবে এই কোডটি ব্যবহার করুন:

Uri sms_uri = Uri.parse("smsto:+92xxxxxxxx"); 
Intent sms_intent = new Intent(Intent.ACTION_SENDTO, sms_uri); 
sms_intent.putExtra("sms_body", "Good Morning ! how r U ?"); 
startActivity(sms_intent); 

দ্রষ্টব্য: এখানে sms_body এবং smsto: এসএমএস রচনা কার্যকলাপে পাঠ্য এবং ফোন নম্বর সনাক্ত করার জন্য কী, তাই এখানে সতর্ক থাকুন।





android-intent