Tag: android intent

Android中的dynamic启动活动?

有没有一种方法可以根据条件dynamic更改Android中的开始活动? 我试图做的(不起作用)如下: 删除我的AndroidManifest.xml中定义的LAUNCHER类别 创build一个应用程序使用的自定义应用程序类 重写我的Application类的onCreate方法来定义如下代码: 。 if (condition) { startActivity(new Intent(this, MenuActivity.class)); } else { startActivity(new Intent(this, LoginActivity.class)); }

什么是START_STICKY,START_NOT_STICKY和START_REDELIVER_INTENT服务

我无法理解 START_STICKY, START_NOT_STICKY和 START_REDELIVER_INTENT 可以用任何一个例子来清楚地解释。 我通过这个链接,但无法清楚地理解。 提前致谢。

java.lang.RuntimeException:Handler(android.os.Handler)将消息发送给死线程上的Handler

在我的应用程序我使用IntentService发送短信。 @Override protected void onHandleIntent(Intent intent) { Bundle data = intent.getExtras(); String[] recipients = null; String message = getString(R.string.unknown_event); String name = getString(R.string.app_name); if (data != null && data.containsKey(Constants.Services.RECIPIENTS)) { recipients = data.getStringArray(Constants.Services.RECIPIENTS); name = data.getString(Constants.Services.NAME); message = data.getString(Constants.Services.MESSAGE); for (int i = 0; i < recipients.length; i++) { if(!StringUtils.isNullOrEmpty(recipients[i])) { try { Intent sendIntent […]

指定的孩子已经有一个父母。 您必须首先调用子对象的父对象的removeView()

我创build这个post,因为我是新手,我需要一点帮助。 我正在做一个关于你的名字的应用程序,它会返回“你好(你放的名字)”。 但是,我按下button后,我得到的错误“指定的孩子已经有一个父母,你必须首先调用孩子的父母removeView() MainActivity.java package com.example.holaamigos; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.*; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity { public final static String EXTRA_SALUDO = "com.example.holaamigos.SALUDO"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final EditText txtNombre = (EditText)findViewById(R.id.TxtNombre); final Button btnHola = (Button)findViewById(R.id.BtnHola); btnHola.setOnClickListener(new OnClickListener() { @Override […]

如何通过多个活动返回结果

在我的应用程序的某些部分有一个这样的活动的结构: Activity A是我的家庭活动,在每一个stream程或stream程之后,我都会回来。 Activity B是一个简单的确认活动。 Activity C是另一个确认活动。 Activity D做了一些过程,最终它将结果返回到我的家庭活动( Activity A )。 要求: Activity B和C : 必须在那里,不能合并成一个。 当它被点击取消button时,它会调用finish()并不执行任何操作。 当点击确定button时,按照stream程和当前活动调用finish() 题: 我正在考虑使用startActivityForResult()但我从来没有用它来通过多个活动传递结果.. 我也想过传递一个handler (在Activity A创build),它调用Activity A上的某个方法,并在Activity D上执行… 我怎么能实现它?

如何从上下文获取视图?

我想从上下文获取视图或findViewById()? 还是从意图? 我试图达到在我的广播接收器的具体视图和onReceive的参数是上下文和意图。 那么,我有一个class,其中是我的广播接收器。 现在,我正试图将广播接收器与它分开,但是我需要一种方法,以便从分离的广播接收器类中继续与我的课堂上的视图进行通信。 谢谢。

Android图像视图捏缩放

我正在使用多点触控的缩放图像视图的代码示例。 在ScaleListener上,我添加了ScaleGestureDetector.getFocusX() and getFocusY()来缩放手势的焦点。 它工作正常。 问题是,首先多点触摸整个图像绘制位置正在改变到当前的触摸点,并从那里缩放。 你能帮我解决这个问题吗? 这是我的TouchImageView的代码示例。 public class TouchImageViewSample extends ImageView { private Paint borderPaint = null; private Paint backgroundPaint = null; private float mPosX = 0f; private float mPosY = 0f; private float mLastTouchX; private float mLastTouchY; private static final int INVALID_POINTER_ID = -1; private static final String LOG_TAG = "TouchImageView"; // […]

TaskStackBuilder转换animation

我正在使用Android L转换,意图传递一个ActivityOptions包。 我怎样才能重现与TaskStackBuilder相同的意图的animation? 这是我目前使用单一Intent工作方法: startActivity(myIntent, ActivityOptions.makeSceneTransitionAnimation(this).toBundle()); 这是我与TaskStackBuilder尝试: TaskStackBuilder builder = TaskStackBuilder.create(this); builder.addNextIntentWithParentStack(myIntent); builder.startActivities(ActivityOptions.makeSceneTransitionAnimation(this).toBundle()); 但animation创造了一个奇怪的效果,不是同一个“单一意图”版本。 我也试过: builder.addNextIntent(myIntent); 代替: builder.addNextIntentWithParentStack(myIntent);

从传入的意图中删除额外内容

我有一个search屏幕,可以通过点击另一个屏幕的“名称”字段来启动。 如果用户遵循这个工作stream程,我会在Intent的Extras中添加一个名为“search”的附加内容。 这额外使用填充“名称”字段作为其值的文本。 在创buildsearch屏幕时,将使用该额外的search参数,并自动为用户启动search。 但是,由于Android会在屏幕旋转时破坏并重新创build活动,因此旋转手机会再次进行自动search。 因此,我想在执行初始search时从Activity的Intent中删除额外的“search”。 我试过这样做: Bundle extras = getIntent().getExtras(); if (extras != null) { if (extras.containsKey("search")) { mFilter.setText(extras.getString("search")); launchSearchThread(true); extras.remove("search"); } } 但是,这是行不通的。 如果我再次旋转屏幕,“search”额外仍然存在于活动的意图的附加。 有任何想法吗?

Android在实现RecognitionListener时获取Intent

正如Iftah在这个答案中所述,我可以通过从Intent传递给Uri来获取由Speech Recoginition在Android中logging的audio: @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { // the recording url is in getData: Uri audioUri = data.getData(); } 这里的Intent data正是我想要的没有问题。 这一切都完美的工作,但是解决scheme提示用户什么时候说话,我不想这样做,我让我的活动实现RecognitionListener如此: public class MainActivity extends AppCompatActivity implements RecognitionListener { private SpeechRecognizer speech = null; private Intent recognizerIntent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); recognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); […]