scheme Android

程和煦
2023-12-01

先上一段代码,选择联系人:


Intent pickContactIntent = new Intent(Intent.ACTION_PICK,
				Uri.parse("content://contacts"));
		pickContactIntent
				.setType("vnd.android.cursor.dir/phone_v2");
		if (pickContactIntent.resolveActivity(
				getPackageManager()) != null) {

			startActivity(pickContactIntent);
		}
然后我的另一个软件在AndroidManifest.xml里有这么一句:

<activity android:name=".list" >
             <intent-filter>
                <action android:name="android.intent.action.PICK" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="vnd.android.cursor.dir/phone_v2" />
            </intent-filter>
        </activity>

然后选择联系人的时候,我的软件便会在列表里!

先看AndroidManifest.xml,这里有一个:action android:name ,它对应于java代码的:Intent.ACTION_PICK,

然后有一个:category android:name,这个是附加信息。最后是:data android:mimeType,这个对应于setType,但请注意,如果先设置setType,后设置setData,那么后者会覆盖前者,反之亦然,如果二者都需要,可用:setDataAndType 。另外还有其他一些参数,这里不再说明。

 

常见错误,非常重要:

1. AndroidManifest.xml里大小写敏感,android.intent.action.VIEW (请注意,这里view全部大写,其他类似!如果小写,将非常郁闷哦!)据我经验,这点非常重要!

 

2.如果还有莫名其妙的错误,比如你觉得应该隐式启动了,但实际却没有,那么,首先检查action是否匹配,大小写是敏感的,如果action不匹配,肯定不能启动!其他该注意的没了。

 类似资料:

相关阅读

相关文章

相关问答