lolle l.
- Forum-Beiträge: 1
07.09.2010, 21:37:02 via Website
07.09.2010 21:37:02 via Website
Hallo Zusammen!
Spiele nun seit drei Tagen ein wenig mit Android herum. Mein Plan ist es eine Android Applikation zu schreiben mit welcher ich den herkömmlichen DIAL Vorgang unterbrechen kann und Einfluss auf die gewählte Nummer nehmen kann (Überprüfung der Vorwahl - abgespeicherte HomeZone-Nummern sollten wenn möglich zuerst angerufen werden... etc.). Als erstes ging es auch ganz gut voran, nun hänge ich allerdings... Ich denke mal es handelt sich um ein anfängliches Verständnisproblem und würde mich über jedes Feedback freuen.
Grundsätzliches:
- Per BROADCAST RECEIVER fange ich den Standard DIAL-Vorgang ab.
- Darin wiederum starte ich eine neue ACTIVITY mit welcher ich eine Dialog-Box ausgeben lasse
- Je nach Reaktion auf die Dialog-Box soll ein neuer ACTION_CALL gestartet werden... und hier hänge ich...
Die Numer wird in der DialogBox angezeigt. Wenn ich jetzt mit "JA" bestätige soll ein neuer Anruf mit der Nummer abgesetzt werden was allerdings nicht funktioniert... Es tut sich gar nichts. Nach meinem jetzigen Verständnis dachte ich das Problem würde sich mittels "Intent.FLAG_ACTIVITY_NEW_TASK" lösen lassen... Allerdings auch ohne Erfolg.
Bin für jeden weiteren Ansatz sehr dankbar..
Viele Grüße
Manifest XML
DialFilter.java
Test.java
Spiele nun seit drei Tagen ein wenig mit Android herum. Mein Plan ist es eine Android Applikation zu schreiben mit welcher ich den herkömmlichen DIAL Vorgang unterbrechen kann und Einfluss auf die gewählte Nummer nehmen kann (Überprüfung der Vorwahl - abgespeicherte HomeZone-Nummern sollten wenn möglich zuerst angerufen werden... etc.). Als erstes ging es auch ganz gut voran, nun hänge ich allerdings... Ich denke mal es handelt sich um ein anfängliches Verständnisproblem und würde mich über jedes Feedback freuen.
Grundsätzliches:
- Per BROADCAST RECEIVER fange ich den Standard DIAL-Vorgang ab.
- Darin wiederum starte ich eine neue ACTIVITY mit welcher ich eine Dialog-Box ausgeben lasse
- Je nach Reaktion auf die Dialog-Box soll ein neuer ACTION_CALL gestartet werden... und hier hänge ich...
Die Numer wird in der DialogBox angezeigt. Wenn ich jetzt mit "JA" bestätige soll ein neuer Anruf mit der Nummer abgesetzt werden was allerdings nicht funktioniert... Es tut sich gar nichts. Nach meinem jetzigen Verständnis dachte ich das Problem würde sich mittels "Intent.FLAG_ACTIVITY_NEW_TASK" lösen lassen... Allerdings auch ohne Erfolg.
Bin für jeden weiteren Ansatz sehr dankbar..
Viele Grüße
Manifest XML
1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="de.vxproject.android.checkDial"
4 android:versionCode="1"
5 android:versionName="1.0.0">
6 <application android:icon="@drawable/icon" android:label="@string/app_name">
7<activity android:name="Test" android:label="@string/app_name" android:launchMode="singleInstance">
8 <intent-filter>
9 <action android:name="android.intent.action.MAIN" />
10 <category android:name="android.intent.category.LAUNCHER" />
11 </intent-filter>
12 </activity>
13 <receiver android:name=".DialFilter">
14 <intent-filter android:priority="1">
15 <action android:name="android.intent.action.PHONE_STATE"/>
16 <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
17 </intent-filter>
18 </receiver>
19 </application>
20 <uses-sdk android:minSdkVersion="7" />
21 <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
22 <uses-permission android:name="android.permission.CALL_PHONE" />
23 <uses-permission android:name="android.permission.ACTION_CALL" />
24 <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
25</manifest>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="de.vxproject.android.checkDial"
4 android:versionCode="1"
5 android:versionName="1.0.0">
6 <application android:icon="@drawable/icon" android:label="@string/app_name">
7<activity android:name="Test" android:label="@string/app_name" android:launchMode="singleInstance">
8 <intent-filter>
9 <action android:name="android.intent.action.MAIN" />
10 <category android:name="android.intent.category.LAUNCHER" />
11 </intent-filter>
12 </activity>
13 <receiver android:name=".DialFilter">
14 <intent-filter android:priority="1">
15 <action android:name="android.intent.action.PHONE_STATE"/>
16 <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
17 </intent-filter>
18 </receiver>
19 </application>
20 <uses-sdk android:minSdkVersion="7" />
21 <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
22 <uses-permission android:name="android.permission.CALL_PHONE" />
23 <uses-permission android:name="android.permission.ACTION_CALL" />
24 <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
25</manifest>
DialFilter.java
1package de.vxproject.android.checkDial;
2
3import android.content.BroadcastReceiver;
4import android.content.Context;
5import android.content.Intent;
6
7
8public class DialFilter extends BroadcastReceiver{
9
10public static String LOG_NUMBER = null;
11
12public void onReceive(Context context, Intent intent) {
13 LOG_NUMBER = getResultData();
14
15 setResultData(null);
16
17 Intent startActivity = new Intent();
18 startActivity.setClass(context, Test.class);
19 startActivity.setAction(Test.class.getName());
20 startActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
21 context.startActivity(startActivity);
22 }
23}
2
3import android.content.BroadcastReceiver;
4import android.content.Context;
5import android.content.Intent;
6
7
8public class DialFilter extends BroadcastReceiver{
9
10public static String LOG_NUMBER = null;
11
12public void onReceive(Context context, Intent intent) {
13 LOG_NUMBER = getResultData();
14
15 setResultData(null);
16
17 Intent startActivity = new Intent();
18 startActivity.setClass(context, Test.class);
19 startActivity.setAction(Test.class.getName());
20 startActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
21 context.startActivity(startActivity);
22 }
23}
Test.java
1package de.vxproject.android.checkDial;
2
3import android.app.Activity;
4import android.app.AlertDialog;
5import android.content.DialogInterface;
6import android.content.Intent;
7import android.net.Uri;
8import android.os.Bundle;
9
10public class Test extends Activity {
11public void onCreate(Bundle savedInstanceState) {
12 super.onCreate(savedInstanceState);
13 AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);
14 alt_bld.setMessage(DialFilter.LOG_NUMBER)
15 .setCancelable(false)
16 .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
17 public void onClick(DialogInterface dialog, int id) {
18 Intent callIntent = new Intent(Intent.ACTION_CALL);
19 callIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
20 callIntent.setData(Uri.parse("tel:"+DialFilter.LOG_NUMBER));
21 startActivity(callIntent);
22 }
23 })
24 .setNegativeButton("No", new DialogInterface.OnClickListener() {
25 public void onClick(DialogInterface dialog, int id) {
26 dialog.cancel();
27 }
28 });
29 AlertDialog alert = alt_bld.create();
30 alert.setTitle("Title");
31 alert.setIcon(R.drawable.icon);
32 alert.show();
33 }
34}
2
3import android.app.Activity;
4import android.app.AlertDialog;
5import android.content.DialogInterface;
6import android.content.Intent;
7import android.net.Uri;
8import android.os.Bundle;
9
10public class Test extends Activity {
11public void onCreate(Bundle savedInstanceState) {
12 super.onCreate(savedInstanceState);
13 AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);
14 alt_bld.setMessage(DialFilter.LOG_NUMBER)
15 .setCancelable(false)
16 .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
17 public void onClick(DialogInterface dialog, int id) {
18 Intent callIntent = new Intent(Intent.ACTION_CALL);
19 callIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
20 callIntent.setData(Uri.parse("tel:"+DialFilter.LOG_NUMBER));
21 startActivity(callIntent);
22 }
23 })
24 .setNegativeButton("No", new DialogInterface.OnClickListener() {
25 public void onClick(DialogInterface dialog, int id) {
26 dialog.cancel();
27 }
28 });
29 AlertDialog alert = alt_bld.create();
30 alert.setTitle("Title");
31 alert.setIcon(R.drawable.icon);
32 alert.show();
33 }
34}
— geändert am 07.09.2010, 21:39:24
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.