index.uts 926 B

123456789101112131415161718192021222324252627
  1. import Intent from 'android.content.Intent'
  2. import Uri from 'android.net.Uri'
  3. import { OpenSchema, CanOpenURL } from '../interface.uts'
  4. export const openSchema : OpenSchema = function (url : string) {
  5. if (canOpenURL(url)) {
  6. const context = UTSAndroid.getUniActivity()!
  7. const uri = Uri.parse(url)
  8. const intent = new Intent(Intent.ACTION_VIEW, uri)
  9. intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
  10. intent.setData(uri)
  11. context.startActivity(intent)
  12. } else {
  13. console.error('url param Error:', JSON.stringify(url))
  14. }
  15. }
  16. export const canOpenURL : CanOpenURL = function (url : string) : boolean {
  17. if (typeof url === 'string' && url.length > 0) {
  18. const context = UTSAndroid.getUniActivity()!
  19. const uri = Uri.parse(url)
  20. const intent = new Intent(Intent.ACTION_VIEW, uri)
  21. return intent.resolveActivity(context.packageManager) != null ? true : false
  22. } else {
  23. return false
  24. }
  25. }