Tag: android intent

通过Android上的Intentselect任何types的文件

我想开始一个可以返回任何types的文件的应用程序的intentchooser 目前我使用(我从Android电子邮件源代码复制的文件附件) Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("*/*"); Intent i = Intent.createChooser(intent, "File"); startActivityForResult(i, CHOOSE_FILE_REQUESTCODE); 但它只在我的Galaxy S2上显示“Gallery”和“Music player”。 这个设备上有一个文件浏览器,我希望它出现在列表中。 我也希望相机应用程序显示在列表中,以便用户可以拍摄照片并通过我的应用程序发送。 如果我安装Astro文件pipe理器,它也会响应这个意图。 我的客户只是Galaxy SII的所有者,我不想强​​迫他们安装Astro文件pipe理器,因为他们已经有了一个基本但足够的文件pipe理器。 任何想法,我怎么能做到这一点? 我很确定,我已经看到默认文件pipe理器出现在这样的菜单中select一个文件,但我不记得在哪个应用程序。

新的Intent()用Android启动新的实例:launchMode =“singleTop”

我有活动A与清单中的android:launchMode="singleTop" 。 如果我去活动B , C和D那里我有菜单快捷方式返回到我的应用程序的根活动( A )。 代码如下所示: Intent myIntent = new Intent(getBaseContext(), MainActivity.class); startActivity(myIntent); 但是,不是返回到我的MainActivity.class的已经存在的实例A ,而是创build一个新的实例 – >它去onCreate()而不是onNewIntent() 。 这不是预期的行为,对吧?

Android中的相机方向问题

我正在构build一个使用相机拍照的应用程序。 这是我的源代码来做到这一点: File file = new File(Environment.getExternalStorageDirectory(), imageFileName); imageFilePath = file.getPath(); Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); //Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file)); startActivityForResult(intent, ACTIVITY_NATIVE_CAMERA_AQUIRE); 在onActivityResult()方法上,我使用BitmapFactory.decodeStream()来拾取图像。 当我在Nexus上运行我的应用程序时,它运行良好。 但是当我在三星Galaxy S或HTC Inspire 4G上运行时,图像的方向是不正确的。 用肖像模式拍摄,真实图像(保存在SD卡上)总是旋转90度。 拍摄后图像预览——— SD卡上的真实图像 捕捉景观模式,一切都很好。 拍摄后图像预览——— SD卡上的真实图像

如何检测电话何时应答或拒绝

手机响了,我准备好了一个活动。 现在我需要知道如何取消这个活动,当我打电话或拒绝电话。我打电话EXTRA_STATE_IDLE?EXTRA_STATE_OFFHOOK? 有任何想法吗? <receiver android:name=".IncomingBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.PHONE_STATE"/> </intent-filter> </receiver> public class IncomingBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE); // If an incoming call arrives if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) { //Did my work }

从Android浏览器/ Chrome启动自定义Android应用程序

首先,我和这个问题是非常相似的。 我想要实现的Android文档就在这里 。 我无法得到这个工作使用这些资源,所以请不要标记为重复,因为它不是。 我有一个网站和一个Android应用程序。 用户将能够扫描包含http://mywebsite.com/map/等链接的QR码。 当用户试图打开这个链接时,我希望Android向他展示一个select器对话框,他可以select使用我的应用程序打开该链接。 如果我的应用程序没有安装,它应该进入指定的网站。 我知道当用户导航到该地址时,Chrome浏览器允许通过打开select器对话框。 例如,请尝试下载Stack Exchange应用程序 ,然后在Chrome中转到此问题。 它会显示这个: 在上述答案中的build议之后,我在AndroidManifest.xml中添加了以下代码: <intent-filter> <action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:host="mywebsite.com" android:path="/map" android:scheme="http" /> <data android:host="mywebsite.com" android:path="/animals" android:scheme="http" /> <data android:host="mywebsite.com" android:path="/articles" android:scheme="http" /> </intent-filter> 此外,我已经尝试添加android:mimeType =“text / plain”到数据,但它没有帮助。 问题是,当我去http://mywebsite.com/map或http://mywebsite.com/map/ Chrome只是打开网页,而不显示select器对话框。 我想提一下: 遵循Android文档,我在AndroidManifest.xml的一个活动结构中添加了这个代码。 因为我不确定这是不是完美的地方添加它,我也尝试将其添加到应用程序结构之外,直接在应用程序结构中,但它没有工作 这是我为此工作的唯一代码。 如果需要其他东西,请告诉我。 据我所知,只有在使用自定义模式时才需要在网页中添加href […]

在自定义通知中添加button操作

我做了custom notification并有一个button,我想执行两个不同的functionalities on notification and button click 。 我看了很多链接,但无法find添加button侦听器的方式。 任何人都可以帮忙 这是我的代码。 非常感谢。 private void startNotification() { Intent intent; PendingIntent pIntent; RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.mynotification); Context context = getApplicationContext(); NotificationCompat.Builder builder = new NotificationCompat.Builder( this).setSmallIcon(R.drawable.ic_launcher).setContent( remoteViews); if (hasFlash) { intent = new Intent(context, FlashLight.class); pIntent = PendingIntent.getActivity(context, 1, intent, 0); } else { intent […]

如何在Android的ListView中处理点击事件?

以下是我的testing代码创build列表视图,列表视图显示成功,但是,在点击事件中有错误。 我想创build一个意图发送硬编码信息到一个新的活动。 但是,它显示错误的行 Intent intent = new Intent(context, SendMessage.class); 所以,问题是,我应该为这个class级提供什么? 此外,而不是硬编码的输出消息,如何捕获列表视图行中的数据,并传递给新的活动? 例如第一行的BBB,AAA,R.drawable.tab1_hdpi 。 谢谢。 public class MainActivity extends Activity { public final static String EXTRA_MESSAGE = "com.example.ListViewTest.MESSAGE"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ArrayList<ListEntry> members = new ArrayList<ListEntry>(); members.add(new ListEntry("BBB","AAA",R.drawable.tab1_hdpi)); members.add(new ListEntry("ccc","ddd",R.drawable.tab2_hdpi)); members.add(new ListEntry("assa","cxv",R.drawable.tab3_hdpi)); members.add(new ListEntry("BcxsadvBB","AcxdxvAA")); members.add(new ListEntry("BcxvadsBB","AcxzvAA")); members.add(new ListEntry("BcxvBB","AcxvAA")); members.add(new ListEntry("BvBB","AcxsvAA")); members.add(new […]

如何将活动带到前台(栈顶)?

在Android中,我定义了一个活动ExampleActivity。 当我的应用程序启动时,这个A活动的一个实例被创build,说它是A 当用户点击A一个button时,B的另一个实例B被创build。 现在任务堆栈是BA,B在顶部。 然后,用户点击B上的一个button,C-Activity的另一个实例,C被创build。 现在任务堆栈是CBA,C在顶部。 现在,当用户点击C上的一个button时,我希望应用程序将A带到前台,即使A成为任务堆栈ACB的顶部。 我如何编写代码来实现它?

在android中以编程方式发送短信

好。 我通过我的应用程序发送短信。 在发送文本消息之后,它将状态更新发送到服务器。 这部分工作正常,但我遇到的问题是双重的。 我不确定他们是否有关系,但我认为他们是。 我的应用程序可以将单个文本发送给多个用户。 这是一个代码示例… if(phoneNumbers.length > 0 && message.getText().toString().equals("") == false) { for(int i=0;i<phoneNumbers.length;i++) { sms = SmsManager.getDefault(); try { sms.sendTextMessage(phoneNumbers[i], null, message.getText().toString(), null, null); sentQuantity++; } catch(IllegalArgumentException e) { } } } 基本上,它只是通过一系列电话号码循环,并一次发送一个文本。 这是我的问题的一部分。 如果我select3个或更多的号码发送文本,有时并不是所有的文本都会被发送。 它非常随机地发生。 我认为这是因为发送每条消息之间有一段延迟,但是代码不够长。 我达到了这个假设,因为如果我使用eclipse进入程序并手动浏览应用程序,那么一切都可以正常工作。 我的另一个问题是当我发送文本消息状态更新到Web服务器。 紧接着文本消息发送之后,应用程序将连接到互联网,并通过http发送发送文本的数量来告诉服务器。 这是我的互联网代码片段… for(int i = 0; i < postNames.length; i++) { nameValuePairs.add(new […]

Android:如何通过Intent打开特定文件夹并在文件浏览器中显示其内容?

我认为这很容易,但事实certificate,事实并非如此。 我拥有的: 我有一个名为“我的文件夹”在我的外部存储(不SD卡,因为它是一个Nexus 4,但不应该是这个问题)。 该文件夹包含一些*.csv文件。 我想要的是: 我想写一个方法,执行以下操作:显示各种应用程序(文件浏览器),我可以从中select一个(请参见图片)。 点击它后,选定的文件浏览器应该启动并显示“myFolder”的内容。 不多不less。 我的问题: 我到底怎么做? 我想我已经和下面的代码非常接近了,但是不pipe我做了什么 – 而且我确定一定有一些我没有正确的做法 – 它总是只从外部存储打开主文件夹。 public void openFolder() { File file = new File(Environment.getExternalStorageDirectory(), "myFolder"); Log.d("path", file.toString()); Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setDataAndType(Uri.fromFile(file), "*/*"); startActivity(intent); }