我将Uri存储为String。我把它命名为 launchIntent :
Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=com.facebook.katana cmp=com.facebook.katana/.LoginActivity }<br/>
当我使用这个时
Intent i = Intent.parseUri(launchIntent, 0);
Log.d("ABC", i.toString());
Logcat将此值作为 i.toString()的值:
Intent { act=android.intent.action.VIEW dat=Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=com.facebook.katana cmp=com.facebook.katana/.LoginActivity } flg=0x10000000 }<br/>
为什么会有额外的{ act=android.intent.action.VIEW dat=...
部分?
答案 0 :(得分:1)
docs表示如果您尝试解析的URI不是由myIntent.toUri()
生成的,那么它会将String视为URI并将操作设置为VIEW:
从URI创建意图。如果由toUri(int)返回,则此URI可以对操作,类别和其他意图字段进行编码。如果toUri()没有生成Intent,则其数据将是整个URI,其操作将为ACTION_VIEW。