Über Widget Anruf starten

  • 2 Antworten
  • Letztes Antwortdatum
kukuk

kukuk

App-Anbieter (kostenlos)
29
Hallo ich entwickel gerade ein kleines Widget, bei dem man drauf drücken kann, und dann auch das Bild verändert beim drauf drücken. Wie kann ich jetzt machen, das auch ein Anruf getätigt wird. Habe jetzt hier schon sehr viel rumprobiert und bekomm es einfach nciht hin.

Code:
private void updateWidgetPictureAndButtonListener(Context context) {
        RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.activity_widget_demo);
getImageToSet());
    
        
        if (!Global.emergency_call){
            remoteViews.setImageViewResource(R.id.emergency_button, R.drawable.emergency_button_pressed);
            Global.emergency_call = true;

            
            Uri number = Uri.parse("tel:3311"); 
              Intent dial = new Intent(Intent.ACTION_CALL, number);
         context.startActivity(dial);
            
           
                
                
        }else{
            remoteViews.setImageViewResource(R.id.emergency_button, R.drawable.emergency_button);
            Global.emergency_call = false;
        }
    
            

        remoteViews.setOnClickPendingIntent(R.id.emergency_button, MyWidgetProvider.buildImagePendingIntent(context));
        
        MyWidgetProvider.pushWidgetUpdate(context.getApplicationContext(), remoteViews);
    }

    }
 
Bei mir sieht das so aus:

Code:
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.contact);

        TextView phone = (TextView)findViewById(R.id.telnumberdail);
        Linkify.addLinks(phone, Linkify.PHONE_NUMBERS);

    }
Das wählt erstmal nur die Nummer, startet aber das Telefonat noch nicht.

und natürlich auch die Manifest ändern:

Code:
<uses-permission android:name="android.permission.CALL_PHONE" />
 
  • Danke
Reaktionen: kukuk
Vielen Dank für die Hilfe.....

Ich habe jetzt eine Lösung gefunden, wie sofort angerufen wird:

Uri number = Uri.parse("tel:3311");
Intent dial = new Intent(Intent.ACTION_CALL, number);
dial.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(dial);
 

Ähnliche Themen

A
Antworten
11
Aufrufe
426
swa00
swa00
Laser5001
  • Laser5001
Antworten
1
Aufrufe
777
swa00
swa00
Laser5001
  • Laser5001
Antworten
2
Aufrufe
1.256
Laser5001
Laser5001
Zurück
Oben Unten