我为我的Android应用程序使用GCM推送通知,它基本上是一个即时消息,如Line/What's App.在我的应用程序中,即使用户注销,推送通知仍会继续发生.换句话说,我无法控制通知.
理想情况下,我希望当用户退出应用程序并在登录后恢复时停止通知.提前感谢.
我有值strUser和KEY,我想送这个值来多个不同的类,因为这个值会在5类URL中使用,我知道送价值一类只使用方式Intent.putExtra波纹管:
Intent policy= new Intent(LoginActivity.this,EpolicyListPolis.class);
policy.putExtra("etUser",strUser);
policy.putExtra("key",KEY);
startActivity(policy);
Run Code Online (Sandbox Code Playgroud)
如何一次将此值发送到多个不同的类?我可以使用SharedPrefences ..?我在类和目标类中编写sharedPrefences的方式如何?
我可以在不使用意图的情况下将字符串传递给Android中的另一个活动吗?我在意向附加项方面遇到麻烦...它们似乎并不总是有效!那么,还有其他方法吗?
我曾尝试过的意图:
String id = intent.getStringExtra("id");
String name = intent.getStringExtra("name");
Run Code Online (Sandbox Code Playgroud)
但是每次我开始活动时,它都会得到两种字符串。第一次与其他时间不同。我可以在不使用意图的情况下将其他活动传递给第二活动吗?
构建我的应用程序的一个步骤是让用户选择存储某些文件的文件夹.如何在不对目录进行硬编码的情况下进行此配置.我可以使用任何第三方库来执行此操作吗?
我想从一个活动中检索已保存到共享偏好的一些值,并希望在另一个活动中调用它.
基本上我如何从第一个活动中获取名称并自动在第二个活动的字段中显示它?
所以作为一个例子我有这个,它保存在首选项中.
public class Settings extends Activity {
EditText editText;
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.settings);
editText = (EditText) findViewById(R.id.editText);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new Button_Clicker());
loadSavedPreferences();
}
private void loadSavedPreferences() {
SharedPreferences sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(this);
String name = sharedPreferences.getString("name", "Your Name");
editText.setText(name);
}
private void savePreferences(String key, String value) {
SharedPreferences sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(this);
Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.commit();
}
class Button_Clicker implements Button.OnClickListener {
public void onClick(View v) { …Run Code Online (Sandbox Code Playgroud) 我一直试图从listview-onclicklistener获取一个id到三个标签片段.用户首先单击myTicketsFragment,然后转到包含3个可滑动标签的详细信息页面.这些视图由名为TicketActivity的一个单独活动"托管".所以目前我已经成功地将数据从片段传递到TicketActivity,但我不能做得更远.一直在寻找2个小时但仍然没有结果..
这是我的代码:
myTicketsFragment:将setOnItemClickListener中的数据传递给制表符活动
public void onItemClick(AdapterView<?> parentView,
View childView, int position, long id) {
Bundle bundle = new Bundle();
bundle.putInt("ticketId", myTickets.get(position).getId());
Intent ticketDetail = new Intent(getActivity(), TicketActivity.class);
ticketDetail.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
ticketDetail.putExtras(bundle);
startActivity(ticketDetail);
}
Run Code Online (Sandbox Code Playgroud)
TicketActivity:接收数据并将其传递给3个选项卡
private ViewPager viewPager;
private TicketTabsPagerAdapter mAdapter;
private ActionBar actionBar;
// Tab titles
private String[] tabs = { "Info", "Intern", "Extern" };
public TicketInfoFragment ticketInfoFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tabs);
// Receive data
Bundle bundle = getIntent().getExtras();
int ticketId = bundle.getInt("ticketId");
// …Run Code Online (Sandbox Code Playgroud) 我想在类中使用“getSharedPreferences”来扩展“ActionBarActivity”,所以它:
public class HomescreenWidget extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
// TODO Auto-generated method stub
super.onUpdate(context, appWidgetManager, appWidgetIds);
for(int i = 0; i<appWidgetIds.length;i++)
{
.
.
SharedPreferences shared =getSharedPreferences("Prefs", MODE_PRIVATE);
String str=shared.getString("string_" + ct.month + ct.date, "");//read from shard point
viws.setTextViewText(R.id.wtv3, str);
.
}
}
Run Code Online (Sandbox Code Playgroud)
现在如何使用“getsharedpreferences”?所以不能使用两个扩展。我想要显示保存在共享点中的字符串,这是我的分片点类
public class Prefs extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String [][] all_strings = new …Run Code Online (Sandbox Code Playgroud) 我有这个按钮代码,它连接到数据库
bLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String username = etUsername.getText().toString();
final String password = etPassword.getText().toString();
// Response received from the server
Response.Listener<String> responseListener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if (success) {
String name = jsonResponse.getString("name");
String email = jsonResponse.getString("email");
String alamat = jsonResponse.getString("alamat");
int notelp = jsonResponse.getInt("notelp");
String username = jsonResponse.getString("username");
String password = jsonResponse.getString("password");
Intent intent = new …Run Code Online (Sandbox Code Playgroud) 我是Android开发人员的新手.我做了一个小的2D游戏,我想知道存储高分的最简单的方法是什么,所以如果应用程序退出并返回到高分,则从上一个会话中检索.任何帮助,将不胜感激!