بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
اجرای کد تماس در ویجت
سلام دوستان
من برای برنامه ام ویجت نوشتم حالا می خوام اگر روی یکی از دکمه ها کلیک شد با یک شماره تماس بگیره.
فقط بلدم به یک اکتیویتی برم (و برای همین کد شماره گیری رو تعریف کردم و بعد در یک اکتیویتی گذاشتم- اما موقع اجرا خود برنامه هم باز می شه) لطفا راه صحیحش رو بگید: ممنون
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;
import android.widget.RemoteViews;
public class HomeScreanWidget extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
super.onUpdate(context, appWidgetManager, appWidgetIds);
for (int i = 0; i < appWidgetIds.length; i++) {
int appWidgetId = appWidgetIds[i];
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
Intent intent = new Intent(context, ooo.class);
PendingIntent pending = PendingIntent.getActivity(context, 0, intent, 0);
Intent intent2 = new Intent(context, ooo.class);
PendingIntent pending2 = PendingIntent.getActivity(context, 0, intent2, 0);
Intent intent3 = new Intent(context, ooo.class);
PendingIntent pending3 = PendingIntent.getActivity(context, 0, intent3, 0);
Intent intent4 = new Intent(context, ooo.class);
PendingIntent pending4 = PendingIntent.getActivity(context, 0, intent4, 0);
Intent intent5 = new Intent(context, ooo.class);
PendingIntent pending5 = PendingIntent.getActivity(context, 0, intent5, 0);
Intent intent6 = new Intent(context, ooo.class);
PendingIntent pending6 = PendingIntent.getActivity(context, 0, intent6, 0);
//views.setOnClickPendingIntent(R.id.widget1label, pending);
views.setOnClickPendingIntent(R.id.btn1, pending);
views.setOnClickPendingIntent(R.id.btn2, pending2);
views.setOnClickPendingIntent(R.id.btn3, pending3);
views.setOnClickPendingIntent(R.id.btn4, pending4);
views.setOnClickPendingIntent(R.id.btn5, pending5);
views.setOnClickPendingIntent(R.id.btn6, pending6);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
}
0
0
دوستان اگر کسی با ویجت بلده کار کنه لطفا راهنمایی کنه چجوری میشه یک کد که ایجاد تماس هست رو در ویجت بوسیله ی view انجام داد؟ (11 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
وحید
11 سال پیش
0
0
چجوری میشه یک کد که ایجاد تماس هست رو در ویجت بوسیله ی view انجام داد؟
مثل این:
String encodedHash = Uri.encode("#");
Intent i = new Intent(android.content.Intent.ACTION_CALL, Uri.parse("tel:*789*7979*1" + encodedHash));
startActivity(i);
پاسخ به سوال
وحید
11 سال پیش
0
0
diligenceman ممنون این کد بدرد خورد اما یک مشکل موند:
اینکه وقتی ویجت رو اجرا می کنم این کد یکبار اجرا می شه بدون این که من کلیدی رو بزنم ، یعنی یکبار شماره می گیره دفعات بعد درسته و با کلیک اجرا میشه
نمی شه یک کاریش کرد که تا زمانی که کلیک نشده کد اجرا نشه؟
String encodedHash = Uri.encode("#");
Intent callIntent = new Intent(android.content.Intent.ACTION_CALL, Uri.parse("tel:*789*7979*1" + encodedHash));
callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(callIntent);
///////////////////////////////////////////////////////////////////////////////////////////
PendingIntent pending =PendingIntent.getActivity(context,0,callIntent ,0);
views.setOnClickPendingIntent(R.id.btn1, pending);
این رو هم اضافه کنم هر وقت ویجت ریست می شه یکبار این کد رو شماره گیری می کنه.
معذرت می خوام. من یه دور آموزش هارو دیدم و نکته برداری زیادی کردم. دفعه اولم هم هست برنامه می نویسم. بهم حق بدین نسبت یه نکات کم دقت باشم. ولی همین خودش یه نوع تاکید آموزشات هست. مثلا در این مورد خوب نه من شاید دیگه اشتباه کنم و نه دیگری که مشکل من رو داره و در این جا راه حلش رو می بینه. (11 سال پیش)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .