用数据创建快捷方式

时间:2014-05-09 16:29:13

标签: android android-intent

我正在开发一个Bus-Timetable Android应用程序,我希望用户可以使用他们最喜欢的巴士站制作快捷方式。

当用户点击快捷方式时,应显示该公交车站的出发时间。

我已经知道如何创建快捷方式,但不知道如何将数据保存到该(在我的应用程序中的公交车站ID)。

2 个答案:

答案 0 :(得分:2)

很容易找到解决方案

Intent shortcutIntent = new Intent(context.getApplicationContext(),MainActivity.class);
shortcutIntent.putExtra("stop", stopName);
shortcutIntent.setAction(Intent.ACTION_MAIN);

Intent addIntent = new Intent();
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, stopName);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(context.getApplicationContext(), R.drawable.ic_launcher));

addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
context.getApplicationContext().sendBroadcast(addIntent);

在ActivityMain.java上获得额外的“停止”...

Intent i = getIntent();
String stop = i.getStringExtra("stop");

答案 1 :(得分:0)

为什么不使用SharedPreference?

这就是你如何保存数据,简单的int:

SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putInt("your_int_key", yourIntValue);
editor.commit();

这就是你获取数据的方式:

SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
 int myIntValue = sp.getInt("your_int_key", -1);

如果你看起来很简单,或者你需要sqlite来保存信息,但在一篇文章中解决这个问题会更复杂。