• 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>
  • 相关阅读:
    Linux忘了root的密码怎么办
    缩略图的实现
    ASP.NET程序编写注意 (转载)
    太极拳
    Linux系统管理技巧大荟萃
    茶经(转载)
    datagrid的显示控制
    太极功
    Linux下硬盘分区详解
    Tomcat4.0中文问题简单解决方法
  • 原文地址:https://www.cnblogs.com/afluy/p/3420295.html
Copyright © 2020-2023  润新知