您的位置:首页 > 编程语言 > PHP开发

如何使用ContentProvider类实现隐式Intent

2010-01-29 12:22 162 查看
举例说明:
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: