Запустить звонок из виджета в Android - PullRequest
0 голосов
/ 25 августа 2011

Можно ли пропустить вызов, нажав кнопку в виджете главного экрана в Android?

У меня есть следующий код, и он не работает, нажатие кнопки ничего не делает:

public class WidgetTestActivity extends AppWidgetProvider {

        @Override
        public void onEnabled(Context context)
        {
            RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.main);

            String url = "tel:3334444";
            Intent i = new Intent(Intent.ACTION_CALL);
            i.setData(Uri.parse(url));
            PendingIntent call1 = PendingIntent.getBroadcast(context, 0, i, 0);

            remoteViews.setOnClickPendingIntent(R.id.button1, call1);   
        }
}

Ответы [ 3 ]

0 голосов
/ 25 августа 2011

Вы указали разрешение CALL_PHONE в манифесте Android?

http://developer.android.com/reference/android/Manifest.permission.html#CALL_PHONE

0 голосов
/ 25 августа 2011

Я нашел ответ в принятом ответе на этот вопрос:

Ответ

0 голосов
/ 25 августа 2011

В AppWidgetProvider есть метод onRecive(Context context, Intent intent), в котором вы можете проверить действие намерения и выполнить нужный код.

@Override
public void onReceive(Context context, Intent intent) {
    super.onReceive(context, intent);

    if(intent.getAction().equals(Intent.ACTION_CALL))
    {
        //DO WHAT YOU WANT
    }
}
...