Tag: android intent

如何将Android意图传递给除我自己的应用之外的任何人?

我有一定的意图( NDEF_DISCOVERED ),其中一些我无法正确处理,所以我想将它们重定向到android的默认nfc处理程序。 所以我采取意图, setComponent(null) ,然后startActivity(intent) 但是……它总是在无限循环的意图投掷中回到我的应用程序。 除了我的应用程序,我有没有办法向任何人发送意图? 或者将它发送到android的默认nfc处理程序? 编辑:所以我使用vikram的答案来查询packagemanager以寻找可能的活动来处理我的意图,然后循环并发现具有最高优先级的活动(谁不是我)并向他们发送明确的意图。

从活动类打开Android导航抽屉

我正在研究android Navigation Drawer并且通过他们的文档看起来,抽屉只能扩展片段活动,以便从我的所有活动中打开抽屉,我需要将我的所有活动都变成片段,这不是一个可行的解决方案。 有没有办法打开从活动中扩展FragmentActivity的抽屉? 当我尝试从Activity类扩展抽屉活动,以及另一个将打开抽屉扩展draweractivity类(此处为SlideMenuActivity)的活动时,应用程序崩溃,给出NullPointerException。 下面是打开抽屉布局的代码,但是第一个活动启动后,我无法访问抽屉。 应用程序崩溃onPostCreate方法中的syncState点 @Override protected void onPostCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onPostCreate(savedInstanceState); getActionDrawerToggle().syncState(); } public class SlideMenuActivity extends FragmentActivity implements OnItemClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setDrawerLayout(); setDrawerList(); if (savedInstanceState == null) { getDrawerListView().setSelectionAfterHeaderView(); getDrawerListView().setSelection(1); selectItem(1); } } // // @Override // public void […]

如何阻止麦克风供其他应用使用?

我正在研究android voip应用程序。 我想确定是否有其他应用程序正在使用麦克风。 这样我想在我使用它时阻止从其他应用程序访问麦克风。 请任何人有想法,这对我很有帮助。 谢谢,

从活动之外的课程中启动意图

我有两个活动,其中一个叫做MyActivity 。 我希望他们俩能够使用位于我们可能称之为MyClass的类中的函数。 在MyClass ,我尝试使用intent来启动活动AnotherActivity 。 由于构造函数将上下文作为参数,我只是尝试在构造函数中存储活动的上下文,然后在我尝试创建我的intent时使用它。 class MyClass { private Context cxt; MyClass(Context cxt) { this.cxt = cxt; } startIntent() { Intent intent = new Intent(cxt, AnotherActivity.class); startActivity(intent); // this line throws a NullPointerException } } MyActivity中使用该类的代码如下所示: myClassObject = new MyClass(MyActivity.this); myClassObject.startIntent(); 但是,即使没有任何参数为null(使用简单的if语句检查), intent似乎为null并抛出NullPointerException 。 为什么它不起作用,我该怎么做才能解决问题? 我是Android和Java开发的新手,所以请尽可能地解释它。

拨打号码,然后按#键

我正在打电话的应用程序,我按下按钮点击,但如果数字后跟#,那么它不会在最后一个电话号码上取#键。 例如,如果我想从应用程序拨打* 123#,那么它只会在手机的通话屏幕中显示* 123。 请建议我哪里出错了。 这是我在按钮点击时调用* 123#的代码。 Intent callIntent = new Intent(Intent.ACTION_CALL); callIntent.setData(Uri.parse(“tel:” + phoneNumber)); callIntent.setData(Uri.parse(“tel:” + “*123#”)); startActivity(callIntent);

从Activity上下文外部调用startActivity()需要FLAG_ACTIVITY_NEW_TASK标志。 这真的是你想要的吗?

我是android的新手,试图通过适配器转到下一个Activity,我使用带有Intent onBindViewHolder() ,下面是代码: @Override public void onBindViewHolder(CurrencyViewHolder holder, int position) { final BureauRateObject br = itemList.get(position); holder.bureauname.setText(br.getBureau_name()); holder.rates.setText(br.getBuysell()); final String BureauId = br.getBureau_id(); final String BureauName = br.getBureau_name(); holder.root.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(context, SingleForexActivity.class); // i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.putExtra(“bureau_id”, BureauId); i.putExtra(“bureau_name”,BureauName); context.startActivity(i); } }); } 这是出现的错误: android.util.AndroidRuntimeException: Calling […]

检测USB连接并检查它是否是PC

我想检测我的Android手机是否通过USB连接…为此我使用此代码: public static boolean isConnected(Context context) { intent = context.registerReceiver(null, new IntentFilter(“android.hardware.usb.action.USB_STATE”)); return intent.getExtras().getBoolean(“connected”); } 但有没有可能明确知道我是否连接到PC?! 因为即使我将手机连接到打印机,或者使用USB端口连接其他解决方案,我也会触发事件… 我已经尝试过刚刚发布的解决方案@nios,但是如果isCharging和usbCharge布尔值设置为true,则不能保证你连接到PC ……即使你连接到打印机,两个布尔值都会设置为真的……这就是我的问题

Camera Intent结果很糟糕

我正在尝试启动内置摄像头来拍摄照片,这张照片的名称将由启动摄像头的活动指定。 (以下代码) 当相机返回时, onActivityResult()直接进入resultCode == Activity.RESULT_CANCELED 。 对此和解决方案的任何解释将不胜感激。 相机确实拍摄了图像,我可以在带有文件查看器的SD卡中看到它,但它的名字来自相机中的库存。 如何将此拍摄图像的名称作为活动提供的图像? 相机意图代码 Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); File image = new File(“Team image.jpg”); camera.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); camera.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(image)); camera.putExtra(MediaStore.Images.Media.TITLE, “Team image”); startActivityForResult(camera, PICTURE_RESULT); activityresult代码 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data){ if(requestCode == PICTURE_RESULT){ if(resultCode == Activity.RESULT_OK) { if(data!=null){ Bitmap image = BitmapFactory.decodeFile(data.getExtras().get(MediaStore.Images.Media.TITLE).toString()); grid.add(image); images.addItem(image); } […]

通过Programetically从App启动Skype

我使用默认的os拨号器直接创建一个调用: Intent call = new Intent(Intent.ACTION_CALL); call.setData(Uri.parse(“tel:” + phoneNo)); startActivity(call); 是否可以直接从我的应用程序启动Skype? 我尝试传递如下数字: PackageManager packageManager = getPackageManager(); Intent skype = packageManager.getLaunchIntentForPackage(“com.skype.raider”); skype.setData(Uri.parse(“tel:65465446”)); startActivity(skype); 传递号码失败。

当我的应用程序收到Intent时,如何向Dashclock发布更新?

我稍后在LocationManager类中使用Android的addProximityAlert方法添加了位置接近度。 当用户的电话是特定区域时, LocationManager向我的应用程序的BroadcastReciver发送一个Intent ,这里是处理intent的类: public class ProximityTrigger extends BroadcastReceiver { @Override public void onReceive(Context ctxContext, Intent ittIntent) { System.out.println(ittIntent.getIntExtra(WidgetService.KEY_STOP_IDENTIFIER, -1)); } } 我想在发生这种情况时使用DashClock API来显示更新。 DashClock有一个publishUpdate方法,可用于显示更新,但我只能在扩展DashClock类的扩展类中使用它。 这应该是某种可能的,但我似乎无法弄清楚如何。 关于如何实现这一目标的任何想法?