我希望能够在用户点击给定模式的URL而不是允许浏览器打开它时提示我的应用程序打开链接.这可能是当用户在浏览器或电子邮件客户端中的网页上或在新鲜应用中的WebView中时.
例如,从手机中的任意位置点击YouTube链接,您就有机会打开YouTube应用.
我如何为自己的应用程序实现此目的?
我有一个应用程序,我希望通过启动带有特定地理坐标的Google地图来显示不同的位置(当时一个,由用户输入选择).
我目前正在使用这个:(当然是真正的纬度和长值.)
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:<lat>,<long>?z=17"));
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
这完全是我想要的,除了它没有显示指定点的任何指示符或标记.它只位于它的位置.
有没有办法在不使用MapView的情况下获取标记或其他内容?
到目前为止,我有这种方法,但它似乎缺少了一些东西
例如,我有一个文件/sdcard/sound.3ga返回false(就像没有可以处理这种类型文件的活动),但当我从文件管理器打开它时,它打开媒体播放器没有问题
我认为这个意图并不完整,我需要更多的东西让我自己确定只有没有可以处理这个意图的活动时,handlerExists变量才会为false
PackageManager pm = getPackageManager();
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(new File(uriString)).toString());
String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
intent.setDataAndType(Uri.fromFile(new File(uriString)),mimetype);
boolean handlerExists = intent.resolveActivity(pm) != null;
Run Code Online (Sandbox Code Playgroud) Android sendStickyBroadcast和sendBroadcastAndroid有什么区别?
通过活动,我曾经这样做:
在活动1中:
Intent i = new Intent(getApplicationContext(), MyFragmentActivity.class);
i.putExtra("name", items.get(arg2));
i.putExtra("category", Category);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
在活动2中:
Item = getIntent().getExtras().getString("name");
Run Code Online (Sandbox Code Playgroud)
你是如何使用Fragments做到这一点的?我也在使用兼容性库v4.
它是否属于FragmentActivity?还是实际的碎片?它采用哪种方法?的onCreate?onCreateView?另一个?
我可以看一下示例代码吗?
编辑:值得注意的是我试图将Activity 1保持为Activity(或者实际上是ListActivity,我点击时传递listitem的意图)然后传递给一组tabbed-fragments(通过Fragment Activity)和我需要任何一个标签才能获得额外的东西.(我希望这可能吗?)
由于我发现了一些较旧的帖子,告诉whatsapp不支持这个,我想知道是否有什么改变了,是否有办法打开一个whatsapp'聊天'与我通过意图发送的号码?
我想在ListActivity的构造函数中传递一些变量
我通过以下代码开始活动:
startActivity(new Intent (this, viewContacts.class));
Run Code Online (Sandbox Code Playgroud)
我想使用类似的代码,但要将两个字符串传递给构造函数.怎么可能?
我的Android应用程序被传递信息的意图调用(状态栏中的pendingintent).
当我按下主页按钮并通过按住主页按钮重新打开我的应用程序时,它再次调用了意图,并且仍然存在相同的附加功能.
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
}
Run Code Online (Sandbox Code Playgroud)
这是不像它应该运行的代码
String imgUrl;
Bundle extras = this.getIntent().getExtras();
if(extras != null){
imgUrl = extras.getString("imgUrl");
if( !imgUrl.equals(textView01.getText().toString()) ){
imageView.setImageDrawable( getImageFromUrl( imgUrl ) );
layout1.setVisibility(0);
textView01.setText(imgUrl);//textview to hold the url
}
}
Run Code Online (Sandbox Code Playgroud)
我的意图是:
public void showNotification(String ticker, String title, String message,
String imgUrl){
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(ns);
int icon = R.drawable.icon; // icon from resources
long when = System.currentTimeMillis(); // …Run Code Online (Sandbox Code Playgroud) 我的布局如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
style="@style/behindMenuItemLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="Twitter Feeds"
android:textStyle="bold" />
<ListView
android:id="@+id/list"
android:layout_width="350dp"
android:layout_height="50dp" />
<TextView
android:id="@+id/textView1"
style="@style/behindMenuItemLabel1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:text="FaceBook Feeds" />
<ListView
android:id="@+id/list1"
android:layout_width="350dp"
android:layout_height="50dp" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我的要求是在和之间绘制一条水平线TextViewListView
有人可以帮忙吗?
背景:
我通过AlarmManager使用PendingIntent进行报警.
问题:
起初我认为为了取消之前的那些,我必须提供我之前用来启动警报的确切requestCode.
但后来我发现我错了,因为取消API说:
删除具有匹配Intent的所有警报.任何类型的警报,其Intent与此匹配的警报(由filterEquals(Intent)定义)将被取消.
看一下" filterEquals ",文档说:
为了意图解析(过滤)的目的,确定两个意图是否相同.也就是说,如果他们的行为,数据,类型,类别和类别是相同的.这不会比较意图中包含的任何额外数据.
所以我没有得到"requestCode"的用途......
问题:
什么是"requestCode"用于?
如果我使用相同的"requestCode"创建多个警报怎么办?他们互相覆盖了吗?
android ×10
android-intent ×10
intentfilter ×2
alarmmanager ×1
android-maps ×1
constructor ×1
file-type ×1
google-maps ×1
listview ×1
mime-types ×1
sharing ×1
whatsapp ×1