看我的代码:
doSomeActionWillStartNewIntentToSelectImage();
// check started intent
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);
Assert.assertThat(activity, new StartedMatcher(intent));
// simulate the returning result
shadowOf(activity).receiveResult(
new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI),
Activity.RESULT_OK,
new Intent().setData(activity.drawableId2Uri(R.drawable.icon_ok)));
Run Code Online (Sandbox Code Playgroud)
但它报告错误:
java.lang.RuntimeException: No intent matches
Intent{action=android.intent.action.PICK, data=content://media/internal/images/media} among
[Intent{action=android.intent.action.PICK, data=content://media/internal/images/media}]
at com.xtremelabs.robolectric.shadows.ShadowActivity.receiveResult(ShadowActivity.java:381)
Run Code Online (Sandbox Code Playgroud)
奇怪的Intent{action=android.intent.action.PICK, data=content://media/internal/images/media}是,它与后者完全相同.
错在哪里以及如何解决?
我很好奇我是如何使用的
putExtra("something", something);
Run Code Online (Sandbox Code Playgroud)
在我的应用程序内的新活动的意图,
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.putExtra("something", something)
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
我需要知道如何发送和接收端看起来像,加载特定的布局文件取决于通过意图中的putExtra发送的内容.
因此,如果我在接收端发送i.putExtra("a",a),它将使用R.layout.a_layout.xml创建内容视图
但如果我发送了i.putExtra("b",b),它将加载R.layout.b_layout.xml
有任何想法吗?
我想用android中的文本和按钮创建头文件(在左侧和左侧的Cetner和Buttons中的文本),我已经尝试但根本没用,请指导我...我怎么能为我做这个应用
android android-widget android-emulator android-intent android-layout
这是我的代码.
在我的主.java文件中.
public void showQuiz (View view){
Username = (EditText) findViewById(R.id.Username);
String userId = Username.getText().toString();
String deviceId = Secure.getString(this.getContentResolver(),
Secure.ANDROID_ID);
//this intent is used to open other activity wich contains another webView
Intent intent = new Intent(this, Quiz.class);
Bundle bun = new Bundle();
bun.putString("userid",userId);
bun.putString("deviceid", deviceId);
intent.putExtras(bun);
startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
这是Activity的.java文件中的内容.
package com.earn.egpt;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
public class Quiz extends Activity {
private static final String url = "http://www.m.s-w-family.com/?subid=";
private static final String url2 = "&deid=";
@Override
public …Run Code Online (Sandbox Code Playgroud) 我有一个问题,从intent扩展Fragment的类开始扩展Activity.
TabBar2.class - >扩展Activity
Favourite.class - > extends Fragment
这就是我写意图的方式.
Intent intent1 = new Intent(TabBar2.this, Favourite.class);
startActivity(intent1);
Run Code Online (Sandbox Code Playgroud)
但是当我运行intent时,我的应用程序崩溃了onClick.我的logCat说
Unable to instantiate activity
ComponentInfo{com.honey.test/com.honey.test.Favourite}:
java.lang.ClassCastException: com.honey.test.Favourite
Run Code Online (Sandbox Code Playgroud)
我做错了什么?有人可以指导我如何解决这个问题吗?
我想在我的Android平板电脑上播放.3gp视频文件.我试过下面的代码,但它会抛出一条错误信息.如何在Android中使用默认视频播放器?
String movieurl = root + "/" + fileNameTextView.getText().toString();
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
Uri data = Uri.parse(movieurl);
intent.setDataAndType(data,"video/3gpp");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
这是错误消息:
11-15 13:47:11.060:E/AndroidRuntime(23061):android.content.ActivityNotFoundException:找不到处理Intent的Activity {act = android.intent.action.VIEW dat =/mnt/sdcard/DCIM/Camera/VID_20121002_174209 .3gp typ = video/3gpp}
我正在尝试加载相机从我的Android应用程序拍摄照片,
我的Photos.java是
private Uri imageUri;
public void takePhoto(View view) {
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
File photo = new File(Environment.getExternalStorageDirectory(), "Pic.jpg");
intent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(photo));
imageUri = Uri.fromFile(photo);
startActivityForResult(intent, TAKE_PICTURE);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case TAKE_PICTURE:
if (resultCode == Activity.RESULT_OK) {
Uri selectedImage = imageUri;
getContentResolver().notifyChange(selectedImage, null);
ImageView imageView = (ImageView) findViewById(R.id.ImageView);
ContentResolver cr = getContentResolver();
Bitmap bitmap;
try {
bitmap = android.provider.MediaStore.Images.Media
.getBitmap(cr, selectedImage);
imageView.setImageBitmap(bitmap);
Toast.makeText(this, selectedImage.toString(),
Toast.LENGTH_LONG).show(); …Run Code Online (Sandbox Code Playgroud) 我有一个服务,假设启动Android音乐应用程序,基本上使音乐应用程序弹出屏幕.我试图这样做的方式是:
public void onStart(Intent intent, int startId)
{
// TODO Auto-generated method stub
super.onStart(intent, startId);
System.out.println("LOGS STARTED");
ActivityManager am = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE);
List l = am.getRunningAppProcesses();
Iterator i = l.iterator();
PackageManager pm = this.getPackageManager();
while(i.hasNext())
{
ActivityManager.RunningAppProcessInfo info = (ActivityManager.RunningAppProcessInfo)(i.next());
try
{
CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(info.processName, PackageManager.GET_META_DATA));
Log.w("LABEL", c.toString());
if(c.equals("Music"))
{
System.out.println("HELLO \n");
Intent in = new Intent();
in.setClassName("com.android.music", "com.android.music.MediaButtonIntentReceiver");
startActivity(in);
}
}
catch(Exception e)
{
//Name Not FOund Exception
}
}
}
Run Code Online (Sandbox Code Playgroud)
logcat会显示Hello,但由于某种原因,音乐无法启动.但是当我把它移到另一个地方时,它确实开始了.有没有办法这样做,或者我必须以另一种方式做到这一点?我希望用户点击图标后弹出音乐应用程序.这就是我做if c.equals("音乐")部分的原因.它在try中的原因是因为这一行:
CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(info.processName, PackageManager.GET_META_DATA));
Run Code Online (Sandbox Code Playgroud)
会得到一个错误,快速解决方法是它被try/catch语句包围.
我建了一个选项菜单.其中一个处理发送电子邮件的按钮无效.
以下是方法:
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main_page, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.settings: Toast.makeText(this, "You pressed the settings!", Toast.LENGTH_LONG).show();
break;
case R.id.exit: System.exit(0); //close the program + kill it from memory
break;
case R.id.contactUs:sendEmail();
break;
}
return true;
}
private void sendEmail(){
Intent mailIntent = new Intent();
mailIntent.setAction(Intent.ACTION_SEND);
mailIntent.setType("text/plain");
mailIntent.putExtra(mailIntent.EXTRA_EMAIL, new String[]{"some_email@gmail.com"});
mailIntent.putExtra(mailIntent.EXTRA_SUBJECT,"Re:Your Application");
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我点击的任何项目(contactUs项目除外)都在工作.当我点击contactUs项目时,它会关闭菜单栏并且什么都不做......
需要帮忙.
编辑:
我改变了以下内容:
private void sendEmail(){
Intent mailIntent = new Intent();
mailIntent.setAction(Intent.ACTION_SEND);
mailIntent.setType("text/plain");
mailIntent.putExtra(Intent.EXTRA_EMAIL, new …Run Code Online (Sandbox Code Playgroud) public class ListSceneAdapter extends OAListSceneAdapter {
public ListSceneAdapter(Context context) {
super(context, R.layout.listitem); // pass the custom UI layout for list items
}
@Override
protected void setupListItemView(View listItemView, OAScene scene) {
// fill the custom UI with the given scene data for the list item
((TextView)listItemView.findViewById(R.id.listItemName)).setText(scene.name);
// add listener for the button
final OAScene _scene = scene;
((Button)listItemView.findViewById(R.id.listItemButton)).setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getContext(), _scene.description, Toast.LENGTH_SHORT).show();
}
});
((Button)listItemView.findViewById(R.id.listItemMap)).setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) …Run Code Online (Sandbox Code Playgroud) android-intent ×10
android ×9
java ×3
3gp ×1
layout ×1
menu ×1
robolectric ×1
service ×1
try-catch ×1
unit-testing ×1