android文件关联的实现以及参数获取
今天无图无真相……一律文字描述……
: Y [+ ^% b* }& `+ u+ N2 w5 n8 \+ m' F7 b1 v& T+ O! N
首先说一下,AndroidManifest.xml文件:
% \4 `! m1 _+ `3 q% A
* n# B" a6 i g
! \: E2 s+ d- V) I6 w4 J: V1 y* H' T* Y package="com.openfiledialog" xmlns:android="http://schemas.android.com/apk/res/android"> $ {0 l2 W) Q& E; J: f1 Q + O, X: W2 I* u ' y5 c" o) U# Z a, L S3 Z) f' { 5 _+ y5 E3 c5 a7 b - [* f% X8 B) ]4 l2 H! n, f( m + C( D! v8 f9 u/ a e! G% b * B! c8 \% ~ L, G 8 C% b# a# Y; K! F' R$ J' b 0 _% J! y9 a# P# ]# d, t& N & O, N% @2 n y 0 t6 Q* L- R# `6 h1 t B ' h5 i% M3 |& e1 I, D 3 y; m7 C& u0 i( T( d+ M; ] ! w7 z" m4 C$ X% [/ z2 y6 h; t 3 M0 M/ u( M/ K; O# d/ z- P% n1 y ' {% [2 _. G3 A0 p- t, m ) f5 l" d' B7 U3 r" m , O! M$ j5 |7 p1 s6 T 复制代码 0 m4 W; ]$ z ~, z5 z' ?注意,这里面有两组“intent-filter”。这里,实现文件关联主要是第二组在起作用。' }- T, y: |# k# h% t “android:mimeType="* 2 w$ J( ~7 I( r# }' i* ?* \ @Override; @: T/ V; m9 L; O# N: a public void onCreate(Bundle savedInstanceState) {1 k6 k" D$ a4 y# D2 E8 J# P super.onCreate(savedInstanceState); : g+ ^3 X- [# x# [) n3 g setContentView(R.layout.main); ! _$ {4 f7 g2 M - P. w- D% f) G" i Intent intent=getIntent();5 z6 Y6 ]( A* p1 O String action=intent.getAction();6 y9 {$ F- R# x1 U% \1 [5 p if(intent.ACTION_VIEW.equals(action)){7 a6 c6 ]3 Q0 @2 M6 y: _8 S TextView tv=(TextView)findViewById(R.id.tvText); , E* R" x9 ^. x, l7 B# S8 P tv.setText(intent.getDataString());! _$ D6 Y3 E2 e; { }% m+ v) e) ]3 t" a+ M0 w' q }7 g; T8 X4 I; @) K }复制代码" z d6 k. n: y+ N: p+ o 注意其中的“ if(intent.ACTION_VIEW.equals(action))”,这里的ACTION_VIEW和前面的“android.intent.action.VIEW”是对应的。7 s* @5 G" F- Z$ G# t 这里可选项很多,我就不一一介绍了,有兴趣的读者请自行察看相关文档——不是我不想介绍,而是因为我也不懂…… , k7 R+ Y+ b- B$ | 5 M+ I% c5 I \) y; x1 D5 p4 p/ r然后,通过“intent.getDataString()”就可以获取传进来的参数,也就是点击的文件名(包含路径,而且以file://开头)。