小编Kar*_*iya的帖子

如何使用"共享图像使用"共享Intent在android中共享图像?

我在该应用程序中有图像厨房应用程序我将所有图像放入drawable-hdpi文件夹中.我在我的活动中调用了这样的图像:

private Integer[] imageIDs = {
        R.drawable.wall1, R.drawable.wall2,
        R.drawable.wall3, R.drawable.wall4,
        R.drawable.wall5, R.drawable.wall6,
        R.drawable.wall7, R.drawable.wall8,
        R.drawable.wall9, R.drawable.wall10
};
Run Code Online (Sandbox Code Playgroud)

所以现在我想知道我如何使用共享Intent我分享这些图像我推出的共享代码如下:

     Button shareButton = (Button) findViewById(R.id.share_button);
     shareButton.setOnClickListener(new View.OnClickListener() {
     public void onClick(View v) {

        Intent sharingIntent = new Intent(Intent.ACTION_SEND);
        Uri screenshotUri = Uri.parse(Images.Media.EXTERNAL_CONTENT_URI + "/" + imageIDs);

        sharingIntent.setType("image/jpeg");
        sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
        startActivity(Intent.createChooser(sharingIntent, "Share image using"));  

         }
    });
Run Code Online (Sandbox Code Playgroud)

当我点击分享按钮时我也有共享按钮分享框正在打开但当我克服任何服务时,大多数崩溃或一些服务说:无法打开图像所以我怎么能解决这个问题或者是否有任何其他格式代码来共享图像????

编辑:

我尝试使用下面的代码.但它不起作用.

Button shareButton = (Button) findViewById(R.id.share_button);
     shareButton.setOnClickListener(new View.OnClickListener() {
     public void onClick(View v) {

        Intent sharingIntent = new Intent(Intent.ACTION_SEND);
        Uri screenshotUri = Uri.parse("android.resource://com.android.test/*");
        try { …
Run Code Online (Sandbox Code Playgroud)

android share uri image

71
推荐指数
9
解决办法
16万
查看次数

获取存储在android中res/raw文件夹中的.mp3文件的URI

我有很多.mp3文件存储在res/raw文件夹中.

我使用以下代码获取.mp3文件的URI.

Uri.parse("android.resource:///com.my.android.sharesound/"+resId);
Run Code Online (Sandbox Code Playgroud)

返回: android.resource:///com.my.android.sharesound/2130968609

现在我在创建Share Intent时使用此URI

    shareIntent.putExtra(Intent.EXTRA_STREAM,Uri.parse("android.resource://com.my.android.sharesound/"+resId));
    startActivity(Intent.createChooser(shareIntent,"Share Sound");
Run Code Online (Sandbox Code Playgroud)

当我选择任何邮件应用程序,例如.来自Share Intent的Gmail或YahooMail,已成功附加mp3文件.但它显示2130968609(作为附件)

我不希望出现resourceId(2130968609).

我想显示fileName.mp3

我怎样才能做到这一点?我错过了什么吗?

要么

有没有其他方法可以通过Share Intent将存储在res/raw中的.mp3文件附加到邮件中.

audio android share

53
推荐指数
4
解决办法
8万
查看次数

在Android中打开/关闭相机手电筒的小工具

我正在开发一个用于打开/关闭手机摄像头的小部件.

我创建了一个可以像切换按钮(开/关)一样工作的小部件.

行为如下所示:当我启用小部件时,有时候led灯仍然亮着.但它不会打开/关闭相机,但它会改变图标.

我无法弄清楚实际问题是什么.

在Activity(火炬之光应用程序)中同样适用.

任何人都可以解释我如何解决我的问题?

我哪里错了?

你可以查看我到目前为止所做的代码

onUpdate 方法

@Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager,
            int[] appWidgetIds) {

         //super.onUpdate(context, appWidgetManager, appWidgetIds);

        remoteViews = new RemoteViews( context.getPackageName(), R.layout.widgetlayout);
        watchWidget = new ComponentName( context, FlashLightWidget.class );

        Intent intentClick = new Intent(context,FlashLightWidget.class);
        intentClick.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, ""+appWidgetIds[0]);

        PendingIntent pendingIntent = PendingIntent.getBroadcast(context, appWidgetIds[0],intentClick, 0);
        remoteViews.setOnClickPendingIntent(R.id.myToggleWidget, pendingIntent);
        appWidgetManager.updateAppWidget( watchWidget, remoteViews );
        ctx=context;      
    }
Run Code Online (Sandbox Code Playgroud)

onReceive 方法如下:

@Override

    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub

        remoteViews = new RemoteViews( context.getPackageName(), R.layout.widgetlayout);
        if (intent.getAction()==null) …
Run Code Online (Sandbox Code Playgroud)

android widget android-widget android-camera android-appwidget

37
推荐指数
2
解决办法
3万
查看次数

使用Google Places API

我想开发一个应用程序,我希望通过获取当前位置来显示用户附近(1公里内)附近地点的信息.

比如说我想显示有关距离Android设备当前位置1公里范围内的餐馆,购物中心,医院的信息.

我已经浏览了这个链接:在Android中使用Google Places API ..但没有得到更多.

有没有人在Android中使用过Google Places API?

android android-maps android-layout

34
推荐指数
2
解决办法
6万
查看次数

VideoView onResume丢失了视频的缓冲部分

我正在进行活动

  1. VideoView - 从网络服务器流式传输视频.

  2. 按钮 - 使用户进入下一个要显示的活动.

应用程序启动时,VideoView将从Web服务器播放视频.

现在假设

 Total Video length is 60 Minutes

 Current Video progress is 20 Minutes

 Current Buffered progress 30 Minutes 
Run Code Online (Sandbox Code Playgroud)

现在,当我点击上面提到的Button时,用户将进入下一个活动.

如果按下后退按钮,则从该活动开始,用户前面会显示"上一个活动"(带有VideoView和"按钮").但是当恢复时,视频的所有缓冲部分都会丢失,因此VideoView从一开始就播放视频,这真的很糟糕. < - 实际问题

问题

当Activity重新恢复时,视频的缓冲部分会丢失,因此会再次开始缓冲.那么如何克服重新缓冲视频的缓冲部分呢?

甚至官方Youtube Android应用程序.有同样的问题.

编辑1:

我在Activity中尝试了下面的代码,但它不起作用.

@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    videoView.suspend();
}

@Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    videoView.resume();
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以指导我这个问题吗?或者我错过了一些能使这项工作完美的东西?

目前的解决方法

我已经用onPause()方法和onResume()方法保存了视频的当前播放位置,我已经使用该位置来寻找该持续时间的视频.这很好用.但是视频缓冲从一开始就从搜索位置开始视频开始.

非常感谢任何帮助.

android video-streaming android-video-player android-videoview

30
推荐指数
3
解决办法
2万
查看次数

自定义ListView,日期为SectionHeader(使用自定义SimpleCursorAdapter)

我想显示ListView与Date作为SectionHeader.

我有: 我使用自定义SimpleCursorAdapter从sqlite数据库显示ListView.

我的自定义SimpleCursorAdapter是:

public class DomainAdapter extends SimpleCursorAdapter{
private Cursor dataCursor;

private LayoutInflater mInflater;

public DomainAdapter(Context context, int layout, Cursor dataCursor, String[] from,
        int[] to) {
    super(context, layout, dataCursor, from, to);
        this.dataCursor = dataCursor;
        mInflater = LayoutInflater.from(context);
}


public View getView(int position, View convertView, ViewGroup parent) {

    ViewHolder holder;

    if (convertView == null) {
        convertView = mInflater.inflate(R.layout.todo_row, null);

        holder = new ViewHolder();
        holder.text1 = (TextView) convertView.findViewById(R.id.label);//Task Title
        holder.text2 = (TextView) convertView.findViewById(R.id.label2);//Task Date
        holder.img =   (ImageView) convertView.findViewById(R.id.task_icon);

        convertView.setTag(holder);
    } else …
Run Code Online (Sandbox Code Playgroud)

sqlite android listview android-custom-view

26
推荐指数
1
解决办法
2万
查看次数

打开/关闭Samsung Galaxy Ace 2.2.1和Galaxy Tab中的相机LED /闪光灯

我正在使用相机LED灯FLASH_MODE_ON.

三星Galaxy Ace只有三种闪光模式:开,关和自动.

FLASH_MODE_TORCH 不适用于三星Galaxy Tab和三星Galaxy Ace 2.2.1

这是我的代码如何打开我的相机LED

    Camera cam;
    cam = Camera.open();     
    Parameters params = cam.getParameters();
    params.setFlashMode(Parameters.FLASH_MODE_ON);
    cam.setParameters(params);
    cam.startPreview();
    cam.autoFocus(new AutoFocusCallback() {
                public void onAutoFocus(boolean success, Camera camera) {
                }
     });
Run Code Online (Sandbox Code Playgroud)

并通过使用以下来关闭它:

cam.stopPreview();
cam.release();
Run Code Online (Sandbox Code Playgroud)

代码参考:在Android中使用相机手电筒

但问题是LED灯仅持续5秒钟.然后它会自动关闭.

任何人都可以告诉问题可能在哪里.或者任何方式连续打开LED灯直到它要求停止.

android android-camera galaxy flashlight samsung-mobile

18
推荐指数
1
解决办法
11万
查看次数

使用Gmail API以html格式检索电子邮件/邮件正文

有没有办法使用GMail api以html格式检索邮件正文?

我已经通过了message.get..试图改变文档formatPARAMS到full,minimalraw.但是id并没有帮助.它返回邮件正文.


格式值说明:

"full":返回有效内容字段中已解析的电子邮件内容,并且不使用原始字段.(默认)

"minimal":仅返回标识符和标签等电子邮件元数据,不返回电子邮件标题,正文或有效内容.

"raw":以字符串形式返回原始字段中的整个电子邮件内容,并且不使用有效内容字段.这包括标识符,标签,元数据,MIME结构和小体部分(通常小于2KB).


我们不能简单地以html格式获取邮件正文,或者是否有其他方法可以做到这一点,以便当他们在我的应用程序或GMail中看到邮件时,屏幕上显示的邮件差别很小?

python gmail-api

18
推荐指数
3
解决办法
2万
查看次数

使用Google会话和帐户选择器的移动应用浏览器的行为

问题:尝试在移动应用之间创建SSO.和浏览器.

我们有什么:

我们有一个离子移动应用程序.使用OAuth 2.0身份验证"使用Google登录".我们有多个内部应用程序可以在OAuth2和SAML上运行,因此我们为GSuite启用了SSO,以便所有应用程序可以使用一个登录名和密码无缝地工作.现在,当我们点击"使用Google登录"按钮时,

  1. 在浏览器应用中打开SSO登录页面.我们启用了SSO,因此我们设置了login_hint,这有助于我们直接将我们带到SSO登录页面.

  2. 用户输入useremail和password,并在使用OAuth 2代码参数成功进行身份验证后重定向到redirect_uri.

  3. redirect_uri是以一种方式完成的,当url被触发时,它会再次使用OAuth 2代码param重定向回我们的Android应用程序,然后我们从token和userinfo端点提取access_token和useremail.

  4. 根据授权,仪表板显示指向我们内部应用程序的链接.适用于Google SAML 2.0或OAuth2身份验证.

预期结果:

当用户点击移动应用中的任何SAML/OAuth 2链接时.仪表板,我们在浏览器应用程序中打开该链接.它应该自动登录到该应用程序.并将我们带到目标网页,因为我们已经在步骤#a中设置了Google会话.

偏离预期的事情:

  • 当我们尝试访问SAML/OAuth应用时,当Chrome浏览器中设置了一个配置文件时,它会显示帐户选择器,其中列出了设备中同步的所有帐户,但没有列出用#b登录的用户.它应该显示该帐户或直接登录并显示登录页面.当我们没有设置chrome配置文件时,它就不会发生.
  • 当我们执行以下操作时,所有浏览器中的会话都会自动终止,因此会再次请求凭据.
    • 关闭浏览器选项卡(有时).
    • 从最近的应用程序托盘清除浏览器(大多数时间)
    • 重启设备(总是)

想要了解如何以及何时在手机中的谷歌浏览器中自动创建和杀死会话?

有什么地方保持会话完整吗?|有没有办法再通过显示与手机同步的帐户的帐户选择器?

更新

能够找出奇怪的观察结果:我们保持SSO关闭,以便谷歌登录屏幕出现.有了这一切一切正常.即使重新启动浏览器或手机,无论Android还是iOS,都不会终止会话.

所以问题在于我们设计的SSO.无法确定我们发布到Google的ACS网址的SAML XML中要设置的内容.

android google-chrome single-sign-on ios google-oauth2

17
推荐指数
1
解决办法
1778
查看次数

处理Cloud SQL中的并发请求和连接

我们使用Datastore在App Engine上创建了一个应用程序.现在,我们已经导致使用Cloud SQL的,因为我们想用联接,嵌套查询和功能,如average,total等数据会从数据存储通过日常cron作业迁移到云SQL.

我刚刚通过以下链接了解与性能和限制相关的基本细节.

到目前为止,看起来Dier D0或D1将达到我们预期的目的.

很少有令我困惑的事情:

a)什么是待连接以及它如何影响?不确定是否抛出1033实例有太多并发请求,当它超过100.我们如何处理?是否我们可以创建250个连接,但一次只能使用100个连接?

b)250个并发连接.如果超过250,应该抛出错误太多的连接

c)每个应用程序引擎实例12个每个SQL实例的并发连接.我们如何确保每个应用引擎实例不超过12个连接?

我通过以下论坛:

App Engine中的Google Cloud SQL有哪些连接限制,以及如何最好地重用数据库连接?

在Google Cloud SQL(GAE)Python应用程序中管理数据库连接的好方法是什么?

但人们面临着某些问题.

d)我们遇到了一个OperationalError:

(2013年,当我们尝试使用1000多个请求进行测试时,"在读取初始通信数据包时丢失了与MySQL服务器的连接",系统错误:38")错误.

我们有1500多人同时使用我们的系统,看起来它会失败.因此,如果由于上述问题我们可以使用Cloud SQL,我们会感到困惑.但是应该可以使用解决方案.

有人可以帮忙吗?

python mysql google-app-engine google-cloud-sql google-cloud-datastore

8
推荐指数
1
解决办法
645
查看次数