1

我正在尝试启动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")));


}

}

但是当我运行它并单击首选项时。

没发生什么事。

这里有什么问题??

4

2 回答 2

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;
    }
});
于 2012-08-21T16:16:32.710 回答
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"

It basically tries to load the playstore URL. This one works even if the play store application is not installed. The only problem is that, the installed browsers will be capturing the intent along with the play store app.

于 2014-11-05T04:37:02.967 回答