0
  • API30(Android11)及以上的版本,需要在AndroidManifest.xml中配置queries标签,才能拉起远程服务并调用远程服务中的方法。


    例如:

    服务端AndroidManifest.xml的service配置如下:

    <service
            android:name=".MyRemoteService"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                  <action android:name="com.example.aidlservice.IStudentService" />
            </intent-filter>
    </service>
    

    那么客户端AndroidManifest.xml中,在manifest节点下需要配置对应的queries:

    <queries>
          <intent>
              <action android:name="com.example.aidlservice.IStudentService" />
          </intent>
    </queries>
    

    具体可参考Android开发者官网https://developer.android.google.cn/training/basics/intents/package-visibility


    Android的每个新版本都会有一些特性,心好累

    1416612057960185857  评论     打赏       Takumi
    • intent.setAction("com.mylibhyz.alipay.THIRD_PAY");

      intent.addCategory(Intent.CATEGORY_DEFAULT);

      intent.setPackage("com.mylibhyz.alipay");


      你这个对得上你注册服务的地方吗?我觉得跟版本没什么关系,而是你在模拟器上可以,在你的手机上不可以。那你做个对比测试好了。再找一台android手机测试一下。

      1153952789488054272  评论     打赏       拉大锯
      • mylib  回复 @拉大锯
        嗯嗯跟mainifest注册的是一样的,手机上可以(安卓9,API 28),然后模拟器我有三个模拟器,一个分别API 19的API 26的 API 30的都测试了,只有API 30的模拟器不行 其他的都可以 不知道是不是模拟器的原因 要是有API 30的真机测试一下就好了 我再测试下别的手机 看看哈 谢谢啦
        mylib 2020-07-05 20:36   回复 1276453688587612160
      • 拉大锯  回复 @mylib
        你测试一下API30的模拟器,我怀疑你的是小米手机或者华为手机。
        拉大锯 2020-07-05 20:48   回复 1153952789488054272
      • mylib  回复 @拉大锯
        我的手机测试 可以成功(华为) 就是API30的模拟器上测试不行[捂脸]
        mylib 2020-07-05 20:51   回复 1276453688587612160
      • 拉大锯  回复 @mylib
        你先放过吧,API30还是Beta 版,如果开发中遇到,别人会先跳出来的。我看了一下文档,没有什么跟服务相关的。
        拉大锯 2020-07-05 21:00   回复 1153952789488054272
      • mylib  回复 @拉大锯
        好的好的 我先不纠结啦 太谢谢您啦 ♥笔芯♥
        mylib 2020-07-05 21:05   回复 1276453688587612160
    • 你自己过滤了MainActivity,当然只是MainActivity的log啦


      你现在是执行了,绑定服务,但是呢,返回是null的,那就去看被绑定那边的服务,onBind有没有走到。


      都 不要过滤了吧,应用过滤也别要了。


      抓一份全的log。补充一下代码。

      1153952789488054272  评论     打赏       拉大锯
      • mylib  回复 @拉大锯
        嗯嗯我刚刚试了在onBind打断点打断点 但是Debug一直报Target VM is not paused by breakpoint request. Evaluation of methods is not possible in this mode 然后Event log报错:java.net.ConnectException "Connection refused: connect"
        mylib 2020-07-05 20:10   回复 1276453688587612160
      • mylib  回复 @拉大锯
        onBind应该是没走到,onBind方法里面的log没打出来
        mylib 2020-07-05 20:15   回复 1276453688587612160
    相关问题
    木林森 · Aidl
    2020-02-24 16:19 472 2
    幻影~ · 提问
    2024-04-13 20:13 7 2
    幻影~ · 找工作
    2024-04-07 10:44 12 2
    幻影~ · 问题
    2024-03-31 17:20 7 2
    TONYGFX · AOSP
    2024-03-28 17:11 4 2