react-native-wechat-lib icon indicating copy to clipboard operation
react-native-wechat-lib copied to clipboard

wx-open-launch-app Android版无法实际启动应用

Open vpjacob opened this issue 4 years ago • 9 comments

1.平台 安卓不正常,苹果正常

2.使用的方法 公众号的方法 wx-open-launch-app

  1. 描述 显示打开成功(h5的成功alert) 但是没有打开APP

类似于这样https://developers.weixin.qq.com/community/develop/doc/00022a36b00828fe625ae673856400?_at=1571345450034

vpjacob avatar Aug 27 '20 09:08 vpjacob

杀死后无法启动

vpjacob avatar Sep 01 '20 09:09 vpjacob

杀死后无法启动

请问下您这个问题解决了吗?如何解决的呢?

EwanBerg avatar Jan 12 '21 00:01 EwanBerg

杀死后无法启动 已解决,排查发现其实已经唤醒进程了。手动在wxEntryActivity.java 唤醒了。

public class WXEntryActivity extends WeChatHandleActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if(WeChatModule.getModules().isEmpty()){
          Intent intent = new Intent(WXEntryActivity.this, MainActivity.class);
          startActivity(intent);
        }else {
          WeChatModule.handleIntent(getIntent());
        }

        finish();
    }
}

 //react-native-wechat-lib ---> WeChatModule.java 增加getModules方法
    public static void handleIntent(Intent intent) {
            for (WeChatModule mod : modules) {
                mod.api.handleIntent(intent, mod);
            }
    }
    //add
    public static ArrayList<WeChatModule> getModules() {
      return modules ;
    }

EwanBerg avatar Jan 13 '21 07:01 EwanBerg

没解决,用的链接吊起

杀死后无法启动

请问下您这个问题解决了吗?如何解决的呢?

vpjacob avatar Jan 21 '21 02:01 vpjacob

杀死后无法启动 已解决,排查发现其实已经唤醒进程了。手动在wxEntryActivity.java 唤醒了。

public class WXEntryActivity extends WeChatHandleActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if(WeChatModule.getModules().isEmpty()){
          Intent intent = new Intent(WXEntryActivity.this, MainActivity.class);
          startActivity(intent);
        }else {
          WeChatModule.handleIntent(getIntent());
        }

        finish();
    }
}

 //react-native-wechat-lib ---> WeChatModule.java 增加getModules方法
    public static void handleIntent(Intent intent) {
            for (WeChatModule mod : modules) {
                mod.api.handleIntent(intent, mod);
            }
    }
    //add
    public static ArrayList<WeChatModule> getModules() {
      return modules ;
    }

extends WeChatHandleActivity会报错 请问怎么解决

chenshaxuanjing avatar Feb 05 '21 13:02 chenshaxuanjing

杀死后无法启动 已解决,排查发现实际上已经唤醒进程了。手动在wxEntryActivity.java唤醒了。

public class WXEntryActivity extends WeChatHandleActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if(WeChatModule.getModules().isEmpty()){
          Intent intent = new Intent(WXEntryActivity.this, MainActivity.class);
          startActivity(intent);
        }else {
          WeChatModule.handleIntent(getIntent());
        }

        finish();
    }
}

 //react-native-wechat-lib ---> WeChatModule.java 增加getModules方法
    public static void handleIntent(Intent intent) {
            for (WeChatModule mod : modules) {
                mod.api.handleIntent(intent, mod);
            }
    }
    //add
    public static ArrayList<WeChatModule> getModules() {
      return modules ;
    }

扩展WeChatHandleActivity会报错请问 怎么解决

解决了吗

wcpTrust avatar Mar 02 '21 09:03 wcpTrust

杀死后无法启动 已解决,排查发现实际上已经唤醒进程了。手动在wxEntryActivity.java唤醒了。

public class WXEntryActivity extends WeChatHandleActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if(WeChatModule.getModules().isEmpty()){
          Intent intent = new Intent(WXEntryActivity.this, MainActivity.class);
          startActivity(intent);
        }else {
          WeChatModule.handleIntent(getIntent());
        }

        finish();
    }
}

 //react-native-wechat-lib ---> WeChatModule.java 增加getModules方法
    public static void handleIntent(Intent intent) {
            for (WeChatModule mod : modules) {
                mod.api.handleIntent(intent, mod);
            }
    }
    //add
    public static ArrayList<WeChatModule> getModules() {
      return modules ;
    }

扩展WeChatHandleActivity会报错请问 怎么解决

解决了吗

同问怎么处理

xiaowu2333 avatar Jul 15 '21 11:07 xiaowu2333

你这个确实可以,但是只能唤起首页,没有触发那个onreq

lvan-zhang avatar Nov 26 '21 02:11 lvan-zhang

我判断了下是否是冷启动,冷启动延迟发送事件

public class WXEntryActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if(WeChatModule.getModules().isEmpty()){
            Intent intent = new Intent(WXEntryActivity.this, MainActivity.class);
            startActivity(intent);
            // 确保rn 初始化后再发唤醒事件,首次启动有闪屏时间
            ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
            scheduler.schedule(() -> {
                WeChatModule.handleIntent(getIntent());
                scheduler.shutdown(); // 关闭scheduler
            }, 2, TimeUnit.SECONDS);
        }else {
            WeChatModule.handleIntent(getIntent());
        }
        finish();
    }


}

secreter avatar Dec 05 '23 16:12 secreter