Über Widget Anruf starten

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

Laser5001
  • Laser5001
Antworten
1
Aufrufe
675
swa00
swa00
Laser5001
  • Laser5001
Antworten
2
Aufrufe
917
Laser5001
Laser5001
wernho
Antworten
11
Aufrufe
724
wernho
wernho
Zurück
Oben Unten