api(app): app.startActivity() for string param

This commit is contained in:
hyb1996
2018-02-27 16:16:32 +08:00
parent 66c436cd99
commit 235115edf3
9 changed files with 114 additions and 58 deletions

View File

@@ -42,7 +42,16 @@ module.exports = function(__runtime__, scope){
}
app.startActivity = function(i){
context.startActivity(app.intent(i).addFlags(android.content.Intent.FLAG_ACTIVITY_NEW_TASK));
if(typeof(i) == "string"){
if(__runtime__.getProperty("class." + i)){
context.startActivity(new Intent(context, __runtime__.getProperty("class." + i))
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
return;
}else{
throw new Error("class " + i + " not found");
}
}
context.startActivity(app.intent(i).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
}
app.sendBroadcast = function(i){

View File

@@ -99,20 +99,24 @@ public abstract class AutoJs {
mScriptEngineManager = new ScriptEngineManager(mContext);
mScriptEngineManager.registerEngine(JavaScriptSource.ENGINE, () -> {
LoopBasedJavaScriptEngine engine = new LoopBasedJavaScriptEngine(mContext);
engine.setRuntime(new ScriptRuntime.Builder()
.setConsole(new StardustConsole(mUiHandler, mGlobalConsole))
.setScreenCaptureRequester(mScreenCaptureRequester)
.setAccessibilityBridge(new AccessibilityBridgeImpl())
.setUiHandler(mUiHandler)
.setAppUtils(mAppUtils)
.setEngineService(mScriptEngineService)
.setShellSupplier(() -> new Shell(mContext, true)).build());
engine.setRuntime(createRuntime());
return engine;
});
mScriptEngineManager.registerEngine(AutoFileSource.ENGINE, () -> new RootAutomatorEngine(mContext));
}
protected ScriptRuntime createRuntime() {
return new ScriptRuntime.Builder()
.setConsole(new StardustConsole(mUiHandler, mGlobalConsole))
.setScreenCaptureRequester(mScreenCaptureRequester)
.setAccessibilityBridge(new AccessibilityBridgeImpl())
.setUiHandler(mUiHandler)
.setAppUtils(mAppUtils)
.setEngineService(mScriptEngineService)
.setShellSupplier(() -> new Shell(mContext, true)).build();
}
protected void registerActivityLifecycleCallbacks() {
getApplication().registerActivityLifecycleCallbacks(new SimpleActivityLifecycleCallbacks() {