举例说明:
1、定义对应的ContentProvider类TestProvider,继承ContentProvider。
类里面需要实现一系列的abstract方法,如:OnCreate,getType,insert…
2、在应用程序的AndroidManifest.xml中加入<provider>标签,例如:
<provider android:name="TestProvider"
android:authorities="com.android.test.settings"/>
android:name是指对应ContentProvider的类名,也就是所建的TestProvider类
android:authorities是标识部分,为了保证唯一性,这里使用完整的包名和类名
3、在想要调用的activity所对应应用的AndroidManifest.xml中,把该activity的intent-filter添加上对Data的要求
4、在StartActivity(intent)之前,设定该intent对应的action(调用setAction()指定)和data(调用setData(Uri.parse(content:// com.android.test.settings /test)))。StartActivity之后,Android系统内部就会根据上面Uri里面的com.android.test.settings,去找到对应的TestProvider(根据android:authorities),然后再调用getType方法。这样Android系统会根据getType返回的数据类型,以及intent在setAction时制定的action,去启动对应的Activity