我有使用Google地图的活动,这是点击标记的代码.正如您所看到的,它使用参数启动第二个活动:
public void onInfoWindowClick(Marker marker) {
SQLiteDatabase dbRead = db.getReadableDatabase();
String[] columns = {"_id", "title", "addr"};
Cursor result = dbRead.query("merchants", columns, null, null, null, null, null);
long id = 0;
while(result.moveToNext()) {
if (marker.getTitle().equals(result.getString(1)) && marker.getSnippet().equals(result.getString(2))) {
id = result.getLong(0);
}
}
Intent intent = new Intent(this, ViewMerchant.class);
Bundle b = new Bundle();
b.putInt("id", (int)id);
startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
这是第二个活动代码的一部分:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.viewmerchant);
Bundle b = getIntent().getExtras();
int id = b.getInt("id");
...
}
Run Code Online (Sandbox Code Playgroud)
这是LogCat:
05-18 19:05:34.785: D/AndroidRuntime(28444): Shutting …Run Code Online (Sandbox Code Playgroud) parameters android bundle nullpointerexception android-intent
我对TextView和Button的看法存在疑问.我知道TextView和Button的基本功能,但仍需要清楚onClickListener功能.两个视图都具有setOnclickListener函数.TextView和Button onClick时编译器如何处理这个问题?
android android-intent android-layout android-fragments android-activity
我正在尝试将int变量传递给另一个活动:
从当前的活动:
Intent intent = new Intent(getApplicationContext(),PlayActivity.class);
intent.putExtra("position", position);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
在PlayActivity.onCreate:
Intent intent = getIntent();
String position = intent.getStringExtra("position");
int index = Integer.parseInt(position);
Run Code Online (Sandbox Code Playgroud)
问题是,位置总是null(并parseInt()抛出异常).
为什么?
我点击通知时开始活动有问题...
public class MyNotification extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// Toast.makeText(context, "notification", 25).show();
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(
context).setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Test Notification")
.setContentText("This is test notification ");
Intent myIntent = new Intent(context, MainActivity.class);
PendingIntent intent2 = PendingIntent.getBroadcast(context, 1,
myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
notificationBuilder.setContentIntent(intent2);
NotificationManager mNotificationManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(1, notificationBuilder.build());
}
}
Run Code Online (Sandbox Code Playgroud)
怎么了 ???
我的代码是这样的:
Intent i = new Intent(Intent.ACTION_SENDTO);
i.putExtra(Intent.EXTRA_EMAIL,"example @example. Com");
i.putExtra(Intent.EXTRA_SUBJECT,"Grannylaunch Support Needed:" + System.currentTimeMillis());
startActivity(i);
Toast.makeText(getApplicationContext(),"Emailing Support....", Toast.LENGTH_LONG);
Run Code Online (Sandbox Code Playgroud)
我的问题是意图不是开始活动.我做错了什么,我该如何解决?
我尝试过设置intent = Intent.ActionSend,但是没有用.
编辑 -
Intent i = new Intent(Intent.ACTION_SENDTO);
i.putExtra(Intent.EXTRA_EMAIL,"example@example.com");
i.putExtra(Intent.EXTRA_SUBJECT,"Grannylaunch Support Needed:" + System.currentTimeMillis());
i.putExtra(Intent.EXTRA_TEXT,"");
startActivity(i);
Toast.makeText(getApplicationContext(),"Emailing Support....", Toast.LENGTH_LONG);
Run Code Online (Sandbox Code Playgroud)
这也不起作用.
我想通过意图将R.drawable id传递给另一个活动。我正在使用开关来查找正确的可绘制对象,然后使用putExtra()传递它。但是当我调用getIntExtra时,它说我传递了一个字符串。这段代码有问题吗?还是其他地方?
int i = getExerciseId(((TextView)getView().findViewById(R.id.fragTextView)).getText().toString());
Intent intent = new Intent(v.getContext(), LevelActivity.class);
intent.putExtra("exerciseId", ((TextView)getView().findViewById(R.id.fragTextView)).getText().toString());
intent.putExtra("image", i);
startActivity(intent);
}
public int getExerciseId(String s) {
int i = -1;
switch (s) {
case "Weather":
i = R.drawable.weather;
break;
case "Weekend":
i = R.drawable.weekend;
break;
case "Hobbies":
i = R.drawable.hobbies;
break;
case "Music":
i = R.drawable.music;
break;
case "Family":
i = R.drawable.family;
}
return i;
Run Code Online (Sandbox Code Playgroud)
编辑:没有日志错误,我在代码中收到一条红线消息,说:
getIntExtra(String, int) in Intent cannot be applied to (String)
Run Code Online (Sandbox Code Playgroud)
在这行代码中:
intent.getIntExtra("image");
Run Code Online (Sandbox Code Playgroud) 我试图通过以下方式使用intent从特定文件夹中选择一个图像:
private void selectPicture(){
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath() + "/Pictures/");
intent.setDataAndType(uri, "image/*");
startActivityForResult(intent, 1);
}
Run Code Online (Sandbox Code Playgroud)
图像选择器正确启动.但是,我看到所有图像(包括来自我指定目录的图像和来自手机上其他位置的图像)而不是仅来自指定目录的图像.
我很感激有关如何使其发挥作用的任何提示.
我将应用程序的图像移动到Pictures目录只是因为我无法在应用程序的私有externalFilesDir()中显示这些图像.如果您知道如何在应用程序的外部文件目录中使用此功能来处理图像,我也非常感谢.
谢谢!
我现在正在开发一个android应用程序。当我要启动服务时,我遇到问题:不允许绑定到服务意图。该服务是Yotaphone背屏服务。
我正在搜索问题,信息很少,大多数都不是同类问题。我不知道哪一部分出了问题。
我按照指示进行操作:http : //mwiki.yotaphone.com/wiki/Building_First_App。
MainActivity中的onStart()函数:
@Override
protected void onStart() {
super.onStart();
Intent bsIntent = new Intent(this, MyBSActivity.class);
this.startService(bsIntent);
}
Run Code Online (Sandbox Code Playgroud)
Yotaphone背屏服务:
public class MyBSActivity extends BSActivity {
@Override
protected void onBSCreate() {
super.onBSCreate();
setBSContentView(R.layout.bs_activity);
}}
Run Code Online (Sandbox Code Playgroud)
错误说明:
04-24 18:27:12.659 28763-28763/com.pli.yotaphone2 E/AndroidRuntime? FATAL EXCEPTION: main
Process: com.pli.yotaphone2, PID: 28763
java.lang.RuntimeException: Unable to start service com.pli.yotaphone2.MyBSActivity@42624840 with Intent { cmp=com.pli.yotaphone2/.MyBSActivity }: java.lang.SecurityException: Not allowed to bind to service Intent { act=yotaphone.intent.action.GET_SDK_BINDER }
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2735)
at android.app.ActivityThread.access$2100(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296)
at android.os.Handler.dispatchMessage(Handler.java:102)
at …Run Code Online (Sandbox Code Playgroud) java android securityexception android-intent android-service
我正在制作一个应用程序,我需要在Facebook时间轴上与文本共享图像.然而,使用我的代码,我可以共享Facebook墙的链接,但不能共享图像.我已经尝试了大部分堆栈溢出代码.但还没有成功.这是我的代码.
MainActivity.java
package com.example.test2;
import com.facebook.android.Facebook;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.Toast;
Run Code Online (Sandbox Code Playgroud)
公共类MainActivity扩展Activity {
String[] ShareOption;
Spinner ShareOptionList;
int driverStarScore = 1; //2 or 3 ...
Facebook facebookClient;
SharedPreferences mPrefs;
ListView list;
String[] ShareItemName ={
"Dropbox",
"Email",
"Facebook",
"Google Plus",
"Twitter",
"Whatsapp",
};
Integer[] ShareImageId={
R.drawable.ic_dropbox,
R.drawable.ic_email,
R.drawable.ic_facebook,
R.drawable.ic_googleplus,
R.drawable.ic_twitter,
R.drawable.ic_whatsapp,
};
@Override
public void onCreate(Bundle …Run Code Online (Sandbox Code Playgroud) 我在接受采访时被问到以下问题:
为什么我们需要Intents来开始新的活动或服务?或者,为什么我们不通过创建新对象并调用activity_obj.onCreate(..)来启动Activity; 在上面.
我可以计算一些意图的好处,比如转移数据和针对适当活动的意图过滤器,但除了我无法得出令人满意的答案.
它与活动的生命周期回调处理有关吗?