public
static
boolean
isIntentAvailable
(
Context
context
,
String
action
)
{
final
PackageManager
packageManager
=
context
.
getPackageManager
();
final
Intent
intent
=
new
Intent
(
action
);
List
<
ResolveInfo
>
list
=
packageManager
.
queryIntentActivities
(
intent
,
PackageManager
.
MATCH_DEFAULT_ONLY
);
return
list
.
size
()
>
0
;
}
使用如下:
@Override
public
boolean
onPrepareOptionsMenu
(
Menu
menu
)
{
final
boolean
scanAvailable
=
isIntentAvailable
(
this
,
"com.google.zxing.client.android.SCAN"
);
MenuItem
item
;
item
=
menu
.
findItem
(
R
.
id
.
menu_item_add
);
item
.
setEnabled
(
scanAvailable
);
return
super
.
onPrepareOptionsMenu
(
menu
);
}
2.
Drawable
star
=
context
.
getResources
().
getDrawable
(
R
.
drawable
.
star
);
if
(
book
.
isFavorite
())
{
star
.
mutate
().
setAlpha
(
255
);
// opaque
}
else
{
star
.
mutate
().
setAlpha
(
70
);
// translucent
}