SecurityException:Permission Denial需要null

时间:2010-05-20 19:06:36

标签: android android-activity android-intent

我想从偏好设置屏幕启动市场但是当我尝试这样做时,我得到了一个java.lang.SecurityException:权限拒绝:启动Intent {cmp = com.action.test / .ui.activities.Test来自ProcessRecord {44db1300 3697:com.pippo.pluto / 10067}(pid = 3697,uid = 10067)需要null。 这是我的代码:

startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("market://search?q=pname:com.action.test")));

我做错了什么?

提前致谢 托比亚

1 个答案:

答案 0 :(得分:0)

我做了以下事情:

private class SupportDevListener implements OnPreferenceClickListener
{
    @Override
    public boolean onPreferenceClick(Preference preference) 
    {
        try
        {
            Intent launchIntent = new Intent(Intent.ACTION_VIEW);
            launchIntent.setData(Uri.parse(getString(R.string.market_search_url)));
            startActivity(launchIntent);
        }
        catch (ActivityNotFoundException e)
        {
            Toast.makeText(AppSwipePreferences.this, R.string.error_launching_app, Toast.LENGTH_SHORT).show();
        }

        return true;
    }
}

我的R.string.market_search_url定义为:market:// search?q = magouyaware

我选择将其置于试用版块中,因为有些Android手机没有Android Market(它们不是Google Experience设备)。如果找不到Market应用程序,则会显示一条Toast消息,告知用户无法找到该应用程序。

希望这会有所帮助......