Hallo nochmal,
ich versuche schon seit einiger Zeit die Caller-ID über meine App zu ändern, leider ohne erfolg.
Hier ist mal der Code:
In der AndroidManifest-Datei habe ich folgende berechtigungen hinzugefügt:
Irgendwie klappt das nicht, ich erhalte folgende fehlermeldung:
aus diese fehlermeldung werde ich auch nicht Schlau.
Kann mir Vielleicht jemand helfen, wie ich das hinbekommen kann?
Danke schonmal für die Hilfe.
MfG
ich versuche schon seit einiger Zeit die Caller-ID über meine App zu ändern, leider ohne erfolg.
Hier ist mal der Code:
Java:
try
{
Class <?> phoneFactoryClass = Class.forName("com.android.internal.telephony.PhoneFactory");
try
{
Method getDefaultPhoneMethod = phoneFactoryClass.getDeclaredMethod("getDefaultPhone");
Method makeDefaultPhoneMethod = phoneFactoryClass.getMethod("makeDefaultPhone" , Context.class);
try
{
makeDefaultPhoneMethod.invoke(null, this);
Object defaultPhone = getDefaultPhoneMethod.invoke(null);
Class <?> phoneInterface = Class.forName("com.android.internal.telephony.Phone");
Method getPhoneServiceMethod = phoneInterface.getMethod("setOutgoingCallerIdDisplay", int.class, Message.class);
getPhoneServiceMethod.invoke(defaultPhone, 1, null);
}
catch (InvocationTargetException ex)
{
ex.printStackTrace();
}
catch (IllegalAccessException ex)
{
ex.printStackTrace();
}
}
catch (NoSuchMethodException ex)
{
ex.printStackTrace();
}
}
catch (ClassNotFoundException ex)
{
ex.printStackTrace();
}
In der AndroidManifest-Datei habe ich folgende berechtigungen hinzugefügt:
Java:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
Irgendwie klappt das nicht, ich erhalte folgende fehlermeldung:
Java:
05-27 20:37:09.428: D/AndroidRuntime(2628): Shutting down VM
05-27 20:37:09.428: W/dalvikvm(2628): threadid=1: thread exiting with uncaught exception (group=0x41865da0)
05-27 20:37:09.438: E/AndroidRuntime(2628): FATAL EXCEPTION: main
05-27 20:37:09.438: E/AndroidRuntime(2628): Process: de.test.testapp, PID: 2628
05-27 20:37:09.438: E/AndroidRuntime(2628): java.lang.SecurityException: Permission Denial: broadcast from de.test.testapp asks to run as user -1 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL or android.permission.INTERACT_ACROSS_USERS
05-27 20:37:09.438: E/AndroidRuntime(2628): at android.os.Parcel.readException(Parcel.java:1465)
05-27 20:37:09.438: E/AndroidRuntime(2628): at android.os.Parcel.readException(Parcel.java:1419)
05-27 20:37:09.438: E/AndroidRuntime(2628): at android.app.ActivityManagerProxy.broadcastIntent(ActivityManagerNative.java:2586)
05-27 20:37:09.438: E/AndroidRuntime(2628): at android.app.ContextImpl.sendStickyBroadcastAsUser(ContextImpl.java:1688)
05-27 20:37:09.438: E/AndroidRuntime(2628): at android.content.ContextWrapper.sendStickyBroadcastAsUser(ContextWrapper.java:459)
05-27 20:37:09.438: E/AndroidRuntime(2628): at com.android.internal.telephony.gsm.GsmServiceStateTracker.updateSpnDisplay(GsmServiceStateTracker.java:1587)
05-27 20:37:09.438: E/AndroidRuntime(2628): at com.android.internal.telephony.gsm.MultiSimGsmServiceStateTracker.updateSpnDisplay(MultiSimGsmServiceStateTracker.java:605)
05-27 20:37:09.438: E/AndroidRuntime(2628): at com.android.internal.telephony.gsm.GsmServiceStateTracker.pollStateDone(GsmServiceStateTracker.java:2471)
05-27 20:37:09.438: E/AndroidRuntime(2628): at com.android.internal.telephony.gsm.GsmServiceStateTracker.pollState(GsmServiceStateTracker.java:2129)
05-27 20:37:09.438: E/AndroidRuntime(2628): at com.android.internal.telephony.gsm.GsmServiceStateTracker.handleMessage(GsmServiceStateTracker.java:905)
05-27 20:37:09.438: E/AndroidRuntime(2628): at com.android.internal.telephony.gsm.MultiSimGsmServiceStateTracker.handleMessage(MultiSimGsmServiceStateTracker.java:331)
05-27 20:37:09.438: E/AndroidRuntime(2628): at android.os.Handler.dispatchMessage(Handler.java:102)
05-27 20:37:09.438: E/AndroidRuntime(2628): at android.os.Looper.loop(Looper.java:157)
05-27 20:37:09.438: E/AndroidRuntime(2628): at android.app.ActivityThread.main(ActivityThread.java:5356)
05-27 20:37:09.438: E/AndroidRuntime(2628): at java.lang.reflect.Method.invokeNative(Native Method)
05-27 20:37:09.438: E/AndroidRuntime(2628): at java.lang.reflect.Method.invoke(Method.java:515)
05-27 20:37:09.438: E/AndroidRuntime(2628): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
05-27 20:37:09.438: E/AndroidRuntime(2628): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
05-27 20:37:09.438: E/AndroidRuntime(2628): at dalvik.system.NativeStart.main(Native Method)
aus diese fehlermeldung werde ich auch nicht Schlau.
Kann mir Vielleicht jemand helfen, wie ich das hinbekommen kann?
Danke schonmal für die Hilfe.
MfG