Cabana
5.01D
V2EX  ›  微信

小白问下 android 的小程序怎么实现,每个小程序独立任务的呢?

  •  
  •   Cabana · Jan 9, 2017 · 3556 views
    This topic created in 3587 days ago, the information mentioned may be changed or developed.
    今天把玩了一会小程序,发现在 Android 下每个小程序都有一个单独的任务窗口,这是 Android 的什么特性吗还是微信的黑科技?
    14 replies  •  2017-01-09 19:25:52 +08:00
    Lonely
    Lonely
    Jan 9, 2017 via iPhone❤️1
    1
    Document
    Cabana
    Cabana
    OP
    Jan 9, 2017
    3
    @Lonely
    @Bown
    多谢,那如果用的是这个那是不是在微信的 Manifest 里会事先声明好了小程序的 activity 吗?感觉不太现实啊 0.0
    Chrisplus
    Chrisplus
    Jan 9, 2017
    4
    可以理解为一个 webview activity ?
    Bown
    Bown
    Jan 9, 2017
    5
    @Cabana 只需要一个 Activity ,启动 intent 加个 FLAG_ACTIVITY_NEW_DOCUMENT
    yuankui
    yuankui
    Jan 9, 2017
    6
    chrome 里面,每个页面,每个插件都是一个进程
    跟这原理是不是差不多?
    Cabana
    Cabana
    OP
    Jan 9, 2017
    7
    @Bown 哦,没仔细看文档,谢谢指教...
    Cabana
    Cabana
    OP
    Jan 9, 2017
    8
    @Bown
    @Lonely
    额,刚注意到这个是 api21 才有的,我试了 Android4.4 也是可也用的,这又是咋回事呢?
    Bown
    Bown
    Jan 9, 2017
    9
    @Cabana adb shell dumpsys 看了下,发现不是 document ,小程序的 Activity 是 com.tencent.mm.plugin.appbrand.ui.AppBrandUI ,然后一共有 5 个: AppBrandUI 到 AppBrandUI4 ,每个都通过 taskAffinity 放到单独的 activity task
    rabbitinhere
    rabbitinhere
    Jan 9, 2017
    10
    喜闻乐见
    rabbitinhere
    rabbitinhere
    Jan 9, 2017
    11
    试过了 taskAffinity 不同也不能实现这个效果的
    <activity
    android:name=".activity1"
    android:label="@string/app_name"
    android:taskAffinity="com.ningstech.edjyun.t1"
    ...

    <activity
    android:name=".activity1"
    android:label="@string/app_name"
    android:taskAffinity="com.ningstech.edjyun.t2"
    ...

    难道不是这么写的吗 @Bown
    Lonely
    Lonely
    Jan 9, 2017
    12
    @rabbitinhere 这个当然也能实现,就是数目有限
    @Cabana 那就是 TaskAffinity 来产生新的 task
    Bown
    Bown
    Jan 9, 2017
    13
    @Lonely 是有限的,一共 5 个 AppBrandUI ,试了 recent tasks 最多同时 5 个小程序
    Cabana
    Cabana
    OP
    Jan 9, 2017
    14
    @Lonely
    @Bown
    @rabbitinhere
    嗯,已经跑通了,应该就是用 TaskAffinity 生成新的 task ,在跳转的时候加上一个 FLAG_ACTIVITY_NEW_TASK 就 Ok 了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4097 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 04:05 · PVG 12:05 · LAX 20:05 · JFK 23:05
    ♥ Do have faith in what you're doing.