PDA

View Full Version : قراردادن برنامه در default sms app



mohajer68
چهارشنبه 24 تیر 1394, 17:33 عصر
سلام من از کد زیر اسفاده م کنم اما هیچ تغییری پیدا می کنه
مشکل کجاست؟


String PACKAGE_NAME = getApplicationContext().getPackageName();


Toast.makeText(this, Telephony.Sms.getDefaultSmsPackage(this), Toast.LENGTH_LONG).show();
Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT );
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAG E_NAME, PACKAGE_NAME );
startActivityForResult(intent,0);
Toast.makeText(this, Telephony.Sms.getDefaultSmsPackage(this) , Toast.LENGTH_LONG).show();

ehsan2883
چهارشنبه 24 تیر 1394, 19:44 عصر
مشکل اینجاس که کد قرار دادن برنامه در فهرست Complete action using گوشی رو باید در منیفست و داخل اینتنت اکتیویتی اصلی تون به شکل زیر بنویسید:



<activity android:name="MainActivity">
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain"/>
</intent-filter>
</activity>

mohajer68
پنج شنبه 25 تیر 1394, 10:27 صبح
ممنون از جوابتون ولی دقیق متوجه نشدم
ببینید من کد اکتیویتی اصلیم در مانیفست رو میزارم
آیا باید کد فعلی رو ادیت کنم ؟ یا یک اکتیویتی جدید ایجاد کنم ؟


<activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>

o0o0okay
پنج شنبه 25 تیر 1394, 11:16 صبح
ممنون از جوابتون ولی دقیق متوجه نشدم
ببینید من کد اکتیویتی اصلیم در مانیفست رو میزارم
آیا باید کد فعلی رو ادیت کنم ؟ یا یک اکتیویتی جدید ایجاد کنم ؟


<activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>

مظور بنده خدا اینه که کد کار با SMS رو باید در منیفست بگذاری(اجازه کارشو بگیری).
کد ارسال SMS در اکتیوتی تون میمونه که کار خودشو بکنه، منیفست جای دریافت مجوزه.

mohajer68
جمعه 26 تیر 1394, 14:47 عصر
متوجه حرفشون شدم
اما نمی دونم کدوم بخش از کد های مانیفستی که گذاشتن مربوط به اجازه قرارگرفتن برنامه در default sms app رو میده که بتونم اون رو به مانیفستم اضافه کنم
راستی من فقط دریافت sms رو می خوام انجام بدم نه اینکه بخوام ارسال کنم
ممنون

ehsan2883
شنبه 27 تیر 1394, 17:32 عصر
فکر نمی کنم توضیحم گنگ بوده باشه.
شما توی برنامه تون مثلا سه تا اکتیویتی دارین. خب واسه نمایش اونا توی گوشی طرف باید اونا رو به منیفست معرفی کنید. درسته؟ توی این سه تا اکتیویتی، یه دونش حتما اکتیویتی اصلیتونه که با Intent Filter مشخص میشه. اوکی؟ خب توی اون Intent-Filter، کدهای معرفی برنامه تون به عنوان برنامه ارسال اس ام اس رو بنویسید. کد هاش هم اینه:(که اون بالا هم نوشتم)




<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain"/>

توی پاسخ اول منظورم این بود که باید کدهای اکتیویتی اصلی رو توی منیفست تغییر بدین به چیزی که نوشتم

mohajer68
یک شنبه 28 تیر 1394, 16:13 عصر
ممنون از توضیحاتتون
مشکلم حل شد البته با اضافه کردن سطح دسترسی mms به manifest