【问题标题】:Launch android Play Store app from PreferenceActivity?从 PreferenceActivity 启动 android Play Store 应用程序?
【发布时间】:2012-08-17 00:46:45
【问题描述】:

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


}

}

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

什么都没有发生。

这里有什么问题??

【问题讨论】:

  • 试试Intent intent = new Intent( Intent.ACTION_VIEW,Uri.parse("market://search?q=pname:your.app.id")); startActivity(intent);

标签: java android sharedpreferences android-preferences preferenceactivity


【解决方案1】:

您的代码并未启动市场活动,它只是创建了启动它的意图

使用这个

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;
    }
});

【讨论】:

    【解决方案2】:

    虽然 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 商店应用程序一起捕获 Intent。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-30
      • 2015-03-01
      • 2017-09-30
      • 2019-09-06
      • 2013-07-30
      • 1970-01-01
      相关资源
      最近更新 更多