我正在尝试启动 Android Play商店
来自我的 PreferenceActivity 。
这是我试图做的代码
在我的pref.xml
文件中
<Preference android:key="rateus" android:title="See Android Market"></Preference>
在我的java文件中
public class ExampleAppWidgetConfigure extends PreferenceActivity {
private int appWidgetId;
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getPreferenceManager().setSharedPreferencesName(
widgetsharedpref.PREFS_NAME);
addPreferencesFromResource(R.xml.prefs);
Preference prefereces=findPreference("rateus");
prefereces.setIntent(new Intent(Intent.ACTION_VIEW,Uri.parse("market://details?id=com.xyz.xyz")));
}
}
但是当我运行它并点击Preference时。
什么都没发生。
这里有什么问题?
答案 0 :(得分:4)
您的代码没有启动市场活动,只会创建启动它的意图
使用此
Preference prefereces=findPreference("rateus");
preference.setOnPreferenceClickListener (new Preference.OnPreferenceClickListener(){
public boolean onPreferenceClick(Preference preference){
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("market://details?id=com.xyz.xyz"));
startActivity(intent);
return false;
}
});
答案 1 :(得分:4)
虽然vikki的答案很好,但这里还是简化版的做法。它只会使用指定的应用详情启动Play商店应用。
<PreferenceScreen
android:title="Rate My app on Play Store"
android:summary="Please take a moment to rate our application and service on play store.">
<intent
android:action="android.intent.action.VIEW"
android:data="market://details?id=com.abc.xyz" />
</PreferenceScreen>
备用版本更安全一些。只需将android:data
属性替换为原始的Play商店应用链接。
android:data="http://play.google.com/store/apps/details?id=com.abc.xyz"
它基本上尝试加载Playstore URL。即使未安装Play商店应用程序,这个也可以使用。唯一的问题是,安装的浏览器将与Play商店应用程序一起捕获意图。