我有一个基本的Android应用程序,并在我的设置菜单中添加了一个项目,为用户提供了一个链接到我在Play商店的应用程序,以便他们可以轻松评价。
我的代码适用于我的所有设备(三星Galaxy S3,谷歌Nexus 7(2012),HTC One),但朋友三星Galaxy S2在点击设置项目时什么都不做。
请参阅下面的代码,提前感谢。
MainActivity.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.settings, menu);
return true;
}
public boolean rateApp (MenuItem item) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=manning.luke.glutenfreeingredients"));
startActivity(browserIntent);
return false;
}
将Settings.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:title="@string/rateApp"
android:onClick="rateApp" >
</item>
</menu>
答案 0 :(得分:1)
来自Menu Resource guide,android:onClick
仅在API级别11(Honeycomb)中添加 - 旧版本的Android将忽略此属性。
通常,您有一个菜单定义,如:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/rateApp"
android:title="@string/rateApp">
</item>
</menu>
然后使用onOptionsItemSelected(MenuItem)
:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.rateApp:
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(
"market://details?id=manning.luke.glutenfreeingredients"));
startActivity(browserIntent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}