2022.10.30-本周问题记录

  1. 一个项目里多个provider冲突,导致运行报错。
    首先自定义provider
class JsFileProvider : FileProvider() {
    
    
}

然后在清单文件中声明

        <provider
            android:name=".JsFileProvider"
            android:authorities="${
      
      applicationId}.bridge.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/filepaths"
                tools:replace="android:resource"/>
        </provider>
  1. fragment里监听不到onActivityResult的回调
    启动的时候使用mFragment.startActivityForResult启动就能接收到到回调。
  Intent intent = new Intent();
                    intent.setType("image/*");
                    intent.setAction(Intent.ACTION_GET_CONTENT);
                    try {
    
    
                        mFragment.startActivityForResult(intent, REQUEST_CODE_SELECT_PIC);
                    } catch (Exception e) {
    
    
                    }
  1. 应用间通过uri跳转问题
    跳转的应用,在清单文件中定义好uri
  <activity
            android:name=".MainActivity"
            android:exported="true">
            <!--URL启动启动配置-->
            <intent-filter>
                <data
                    android:host="router"
                    android:path="/demo/user"
                    android:scheme="csdn" />
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
            </intent-filter>
</activity>

其他应用可跳转

          val intent = Intent()
            intent.data = Uri.parse("csdn://router/demo/user?from=1")
            intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
            startActivity(intent)

猜你喜欢

转载自blog.csdn.net/weixin_38687303/article/details/127602015
今日推荐