WebView und Java Object - gelöst

N

Nonsens

Gast
hi alle,

ich möchte meinen Launcher um eine neue Funktion erweitern. Aus einer HTML-Seite, die als Hintergrund dienen soll, sollen per JevascriptInterface APP gestartet werden können. Es funktioniert soweit bis auf das Starten von APP da bekomme ich eine SecurityException.
Die Frage ist nun ob ich aus der eingebeteten Klasse JsObject eine APP starten kann oder geht das nur von der Klasse Launcher aus.



Code:
public class Launcher extends Activity {
[cut]
 class JsObject {
        @JavascriptInterface
        public void startAPP(String pkg, String cls){
            try{
                Intent intent = new Intent();
                intent.setComponent(new ComponentName(pkg, cls));
                startActivity(intent);}
            catch(SecurityException s){
                Toast.makeText(getApplicationContext(),"JsObject: " + s.getMessage(), Toast.LENGTH_LONG).show();
                s.printStackTrace();
            }
            catch(Exception e){
                e.printStackTrace();
            }
        }
    }
}
 
Das Problem ist gelöst.

Die Klasse muss im Manifest mit android:exported="true" für externen Zugriff freigegeben sein!

Super, nun kann ich mit meiner Hintergrund-Html-Seite jede APP starten. Ihr fragt euch bestimmt wozu das gut sei soll :biggrin:

Mit Html lässt sich viel bequemer einen schönen Hintergrund mit Images und Buttons basteln und diesen Images und Buttons kann man dann mit dem Javascript Interface auch gleich die APPS starten. Einziger Wermutstropfen: die Klassennamen herausfinden. Aber dafür gibst ja schönte Tools wie etwas ManifestViewer.

grüße
 

Ähnliche Themen

D
Antworten
23
Aufrufe
2.540
Data2006
D
M
  • MikelKatzengreis
Antworten
5
Aufrufe
127
swa00
swa00
H
Antworten
0
Aufrufe
933
HoustonWeHaveAProblem
H
Zurück
Oben Unten