前面我们已经学习了,通过在AndroidManifest.xml
配置文件里设置action和scheme,来实现Activity
的跳转。
http://blog.csdn.net/github_26672553/article/details/62887667
mimeType
<intent-filter>
<data android:mimeType="">
</intent-filter>
通过此项设置可以告诉Android系统哪些类型的文件”本Activity”可以处理。
常见的mimeType:image/jpeg、text/plain、application/pdf
<activity android:name=".IndexActivity">
<intent-filter>
<action android:name="abc" />
<category android:name="android.intent.category.DEFAULT" />
<!--<data android:scheme="diy" android:host="diy.com"/>-->
<data android:mimeType="text/plain"/>
</intent-filter>
</activity>
配置上这个之后,如果我们系统中外部程序就可以打开我们的App,比如一般安卓系统都有安装的”es文件浏览器”,可以打开我们的App来读取里面的txt文件。
读取txt文件
上面的设置,外部文件可以打开我们App的IndexActivity,然后我们需要在IndexActivity里读取txt文件,并显示出来:
public class IndexActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.index);
String text = "首页";
//获取
Intent intent = getIntent();
if (intent.getType().equals("text/plain")){
// 判断是要打开文本类型
// 读取txt文件
// 然后显示到TextView控件上
try {
FileInputStream fs = new FileInputStream(intent.getData().getPath());
try {
byte[] buffer = new byte[fs.available()];
text = new String(buffer);
fs.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
//显示到控件上
((TextView)findViewById(R.id.text1)).setText(text);
}
}