دوستان سطح دسترسی از طریق intent چجوری میشه گرفت
من یه برنامه نوشتم که دسترسی ارسال مسیج میخواد
برنامه رو ارسال کردم واسه کافه بازار مبگه باید دسترسی رو از طریق intent بگیری
میشه راهنمایی کنید
ممنون
دوستان سطح دسترسی از طریق intent چجوری میشه گرفت
من یه برنامه نوشتم که دسترسی ارسال مسیج میخواد
برنامه رو ارسال کردم واسه کافه بازار مبگه باید دسترسی رو از طریق intent بگیری
میشه راهنمایی کنید
ممنون
آخرین ویرایش به وسیله e_q_sun : شنبه 10 تیر 1396 در 20:21 عصر
روش کلی استفاده از intent ها به شکل زیر هست. مثال زیر صفحه یک developer رو در کافه بازار نشون میده. حالا شما می تونید به جای command مثلا دستور مربوط به ارسال message رو قرار بدید
پیشنهاد می کنم اول درباره مفهوم intent در آندروید مطالعه کنید
procedure TBazaarAPI.GoDeveloperPage;
var
Intent: JIntent;
Command: string;
begin
try
Command := 'bazaar://collection?slug=by_author&aid=' + DeveloperID;
Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_ VIEW,
TJnet_Uri.JavaClass.parse(StringToJString(Command) ));
Intent.setPackage(StringToJString('com.farsitel.ba zaar'));
SharedActivity.startActivity(Intent);
except
on E: Exception do
begin
raise Exception.Create(E.Message);
end;
end;
end;
ممنون از پاسختون
در خوصوص intent من هرچی سرچ میکنم چیزی گیرم نمیاد که بدردم بخوره.
میشه راهنمایی کنید
اینطور که متوجه شدم (البته اگه درست فهمیده باشم)توی این کد از api کافه باز استفاده شده
خوب در صورتی که بخوام بدن ارتباط با کافه بازار از intent استفاده کنم چجوریه
در صورت امکان یه لینک مرجعی معرفی کنید که بتونم ازش آموزش بگیرم.ممنون میشم دوست گرامی
جهت ارسال sms می تونید از کد زیر استفاده کنید
uses Androidapi.JNI.GraphicsContentViewText
,Androidapi.JNI.Net, Androidapi.Helpers;
procedure TForm3.SendSMS(aMobile, aMessage: string);
var
Intent: JIntent;
Command: string;
begin
try
Command := 'smsto:' + aMobile;
Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_ VIEW,
TJnet_Uri.JavaClass.parse(StringToJString(Command) ));
Intent.putExtra(StringToJString('sms_body'), StringToJString(aMessage));
SharedActivity.startActivity(Intent);
except
on E: Exception do
begin
raise Exception.Create(E.Message);
end;
end;
end;
در کل زمانیکه شما می خواهید کاری رو در آندروید انجام بدید می تونید یا از داخل برنامه خودتون انجام بدید که احتیاج به Permission مربوطه دارید
یا این کار رو به یک برنامه دیگه بسپارید که این کار با استفاده از intent انجام میشه. یه چیزی مثل ShelExecute در ویندوز می مونه
کد باز کردن یک صفحه وب با intent
procedure TAndroidTools.OpenURL(aURL: string);const
MethodName = 'OpenURL';
var
Intent: JIntent;
Command: string;
begin
try
Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_ VIEW,
TJnet_Uri.JavaClass.parse(StringToJString(aURL)));
SharedActivity.startActivity(Intent);
except
on E: Exception do
begin
raise Exception.Create(E.Message);
end;
end;
end;
دوست عزیز niceboy.
کد ارسال پیامک بود(به قرار زیر) چجوری میتونم delivery رو دریافت کنم؟
تا حالا این کار رو انجام دادی؟
procedure SendSMS_InApp (Target,TText:string);
var
smsTo: JString;
smsManager: JSmsManager;
begin
smsManager := TJSmsManager.JavaClass.getDefault;
smsTo := StringToJString(Target);
smsManager.sendTextMessage(smsTo, nil, StringToJString(TText), nil,JInt);
end;
برای دریافت Delivery جایی که من در فرمان sendText نوشته ام JInt.
این متغیر از نو JpendingIntent هست،حالا چجوری میتونم این رو بخونم برای اینکه یک پیامک ارسال شده یا نه؟
توی سایت stackoverflow سوالم رو مطرح کردم،جواب هم دادن ولی من متوجه نشدم.اگر شما تونسته اید ممنون میشم راهنمایی کنید.
دوست گرامی niceboy
من برای ارسال مسیج از کدی استفاده میکنم که جناب عباسی نوشتن
آیا برای intent حتما باید از کدی استفاده کنم که شما معرفی کردی یا از این هم میشه استفاده کرد؟؟
فرق کد من با کد دوست عزیزم در اینکه:
کد من مستقیم ارسال میکنه اما delivery نداره.
کد niceboy از طریق massenger خود گوشی ارسال مبکنه و باید حتما دکمه Send رو بزنی و delivery داره.
یک بار هردو کد رو استفاده کن،تفاوتش رو متوجه میشی
شما باید یک Listener تعریف تا وقتی Delivery اومد بتونی دریافت کنی
در لینک زیر با مثال توضیح داده، از این کد استفاده کن اگه سوالی داشتی در خدمتم
https://stackoverflow.com/questions/...tent-in-delphi
ممنون ولی
این لینکی که گذاشتی،سوال خودمه تو Stackoverflow.
ولی در پاسخ پایین که یه یونیت نوشته بود من نتونستم باز هم deliver رو دریافت کنم،کلی خطا داشت،رفع عیب هم کردم ولی جواب نداد.
خودت میتونی توضیح روان بدی؟یا مثال درست که کار کنه؟
چون یک پروژه بود خیلی وقته نوشته بودم ولی بدلیل عدم گرفتن deliver نتونستم کاملش کنم و همین طور داره خاک میخوره.
ممنون میشم کمکم کنی
با چه دستوری میتونم دسترسی مسیج رو از داخل برنامه بگیرم
کدهایی که معرفی شدن باعث میشه موقع ارسال مسیج صفحه مسیج باز بشه
من میخوام بعد از نصب،موقع اجرا دسترسی رو بگیره بعد بشه مسیج رو مستقیم ارسال کرد