zoukankan      html  css  js  c++  java
  • ANDROID笔记:activity通过ContentProvider传值(仿调用系统图片浏览器过程)

    调用端代码
    String string = getContentResolver().getType(Uri.parse("content://com.test.provider"));
    Toast.makeText(MainActivity.this, "ss:"+string, 200).show();
    Intent intent = new Intent();
    intent.setType(string);
    startActivityForResult(intent, 0);
     
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
     
    super.onActivityResult(requestCode, resultCode, intent);
    Bundle bundle=intent.getExtras();
    String name=bundle.getString("name");
    String sex=bundle.getString("sex");
    Toast.makeText(MainActivity.this, name+"__"+sex, 200).show();
    }
     

    服务器端代码
    (activity)
     //传值
    String name="test";
    String sex="男";
    Intent intent = new Intent();
    intent.putExtra("name",name);
    intent.putExtra("sex", sex);
    //设置结果
    setResult(1,intent);
    //调用finsish后前面的
    finish();
     
    activity的配置文件
    <intent-filter>
                    <action android:name="com.test.test" />
                    <category android:name="android.intent.category.DEFAULT" />
                    <data android:mimeType="vnd.android.cursor.item/myitem" />
    </intent-filter>
     
    (Provider)
    @Override
    public String getType(Uri uri) {
    // 单一数据 vnd.android.cursor.item 开头
    // 集合数据 vnd.android.cursor.dir 开头
         return "vnd.android.cursor.item/myitem";
    }
    provider的配置文件
    <provider
                android:name=".MyProvider"
                android:authorities="com.test.provider"
                android:exported="true" >
    </provider>
  • 相关阅读:
    IO基础
    集合框架
    数据结构基础
    进程和线程
    matlab绘制三维图形
    matlab figure 窗口最大化
    Matlab中的fread函数
    matlab中fopen 和 fprintf函数总结
    matlab中findstr,strfind,strcmp,strncmp区别与联系
    matlab取消和添加注释以及一些快捷键
  • 原文地址:https://www.cnblogs.com/afluy/p/3420295.html
Copyright © 2011-2022 走看看