精华内容
下载资源
问答
  • Android 实现所有应用上显示View
  • 安卓应用在其他应用上悬浮显示权限添加 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package=...

    安卓应用在其他应用上悬浮显示权限添加

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.smart4s.app.merchant.convenientcollection">
        **<!-- 显示系统窗口权限 -->
        <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
        <!-- 在屏幕最顶部显示addview-->
        <uses-permission android:name="android.permissionmission.SYSTEM_OVERLAY_WINDOW" />**
    
        <application
            android:name=".CSAPP"
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity
                android:name=".activity.OrderAmountActivity"
                android:launchMode="singleTask" />
            <activity
                android:name=".activity.PaySuccessActivity"
                android:launchMode="singleTask" />
            <activity
                android:name=".activity.NoNetWorkActivity"
                android:launchMode="singleTask" />
            <activity
                android:name=".activity.MainActivity"
                android:launchMode="singleTask" />
            <activity
                android:name=".activity.SplashActivity"
                android:launchMode="singleTask">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    
    </manifest>
    
    //6.0以后版本
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    	//如果没有覆盖权限
        if (!Settings.canDrawOverlays(this)) {
        	//引导用户去开启权限
            Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
            startActivity(intent);
            return;
        } else {
            //6.0之前不用管
        }
    }
    
    展开全文
  • Android 在其他应用上悬浮显示View

    万次阅读 2018-06-15 16:26:22
    此段代码打开wifi设置界面时,会左下角和右下角多了返回和下一步按钮,点击这两个按钮都会关闭掉当前的wifi设置界面。(基于Android 4.2,4.4版本测试)Intent intent = new Intent(); intent.setAction(Settings......
    一个特殊需求,当打开系统wifi设置界面时候,系统界面左上角自带返回按钮,想要的功能是不能点击此返回按钮回到系统设置
    界面。
    此段代码打开wifi设置界面时,会在左下角和右下角多了返回和下一步按钮,点击这两个按钮都会关闭掉当前的wifi设置界面。

    (基于Android 4.2,4.4版本测试)

    Intent intent = new Intent();
    intent.setAction(Settings.ACTION_WIFI_SETTINGS);
    intent.setAction("android.net.wifi.PICK_WIFI_NETWORK");
    intent.putExtra("extra_prefs_show_button_bar", true); //携带上一步和下一步按钮
    intent.putExtra("wifi_enable_next_on_connect", true);
    intent.putExtra("extra_prefs_set_back_text", "返回");
    startActivity(intent);

    开启WIFI 设置界面如下


    尝试在Intent中携带各种参数都无效之后,想到在其他应用上显示窗口。搜索了各种方式之后,具体实现方式: 开启一个Service,在service 中获取当前窗体的WindowManager.addView(View view) 添加一个View,通过stopService removeView 来移除view  具体通过开启的activity 生命周期方法来控制显示隐藏

    Service 具体实现:

    public class ViewService extends Service {
    
    
        private WindowManager windowManager;
        private Button button;
    
        @Override
        public IBinder onBind(Intent intent) {
            return null;
        }
    
        @Override
        public void onCreate() {
            super.onCreate();
            showOver();
    
        }
    
        @Override
        public void onDestroy() {
            super.onDestroy();
            windowManager.removeView(button);
        }
    
        private void showOver() {
            button = new Button(this);
    
            button.setBackgroundColor(Color.BLACK);
    
            windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
            WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
            layoutParams.type = WindowManager.LayoutParams.TYPE_PHONE;
    
            layoutParams.width = 70;
            layoutParams.height = 50;
            layoutParams.x = 20 ;
            layoutParams.y = 20 ;
            layoutParams.gravity = Gravity.LEFT | Gravity.TOP ;
            layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
            layoutParams.format = PixelFormat.RGBA_8888 | PixelFormat.TRANSLUCENT;
    
            windowManager.addView(button, layoutParams);
        }
    
    }

    添加权限:

    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    添加一个黑色的Button之后(左上角)
    
    

    展开全文
  • AndroidManifest中添加: &lt;uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/&gt; &lt;uses-permission android:name="android.permission.SYSTEM_...

    在AndroidManifest中添加:

    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    

    然后直接调用这个封装好的类就行:

    public class WindowPermissionCheck {
    
        public static boolean checkPermission(Activity activity){
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
                    && !Settings.canDrawOverlays(activity)) {
                Toast.makeText(activity, "当前无权限,请授权", Toast.LENGTH_SHORT).show();
                activity.startActivityForResult(
                        new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
                                Uri.parse("package:" + activity.getPackageName())), 0);
                return false;
            }
            return true;
        }
    
        public static void onActivityResult(Activity activity,
                                            int requestCode,
                                            int resultCode,
                                            Intent data,
                                            OnWindowPermissionListener onWindowPermissionListener) {
            if (requestCode == 0) {
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
                        && !Settings.canDrawOverlays(activity)) {
                    Toast.makeText(activity.getApplicationContext(), "授权失败", Toast.LENGTH_SHORT).show();
                    if(onWindowPermissionListener!=null)
                        onWindowPermissionListener.onFailure();
                }else {
                    Toast.makeText(activity.getApplicationContext(), "授权成功", Toast.LENGTH_SHORT).show();
                    if(onWindowPermissionListener!=null)
                        onWindowPermissionListener.onSuccess();
                }
            }
        }
    
        public interface OnWindowPermissionListener{
            void onSuccess();
            void onFailure();
        }
    
    }

     

    展开全文
  • 像百度网盘等应用,里面的文件打开时,都可以通过以下应用再打开文件。下面红色框框内的我的jpg就是我做的一个例子。因为例子没有提供Icon,所以显示的是默认icon。 下面就是这例子的主要步骤和代码。 ...

    像百度网盘等应用,里面的文件打开时,都可以通过以下应用再打开文件。下面红色框框内的我的jpg就是我做的一个例子。因为例子没有提供Icon,所以显示的是默认icon。


    下面就是这例子的主要步骤和代码。


    例子是一个打开jpg图片程序。


    1、在项目的**info.plist文件中添加:

    [html]  view plain  copy
      在CODE上查看代码片 派生到我的代码片
    1. <key>CFBundleDocumentTypes</key>  
    2.     <array>  
    3.         <dict>  
    4.             <key>CFBundleTypeIconFiles</key>  
    5.             <array>  
    6.                 <string>icon@2x.png</string>  
    7.                 <string>icon.png</string>  
    8.             </array>  
    9.             <key>CFBundleTypeName</key>  
    10.             <string>Molecules Structure File</string>  
    11.             <key>CFBundleTypeRole</key>  
    12.             <string>Viewer</string>  
    13.             <key>LSHandlerRank</key>  
    14.             <string>Owner</string>  
    15.             <key>LSItemContentTypes</key>  
    16.             <array>  
    17.                 <string>com.fzrong.jpg</string>  
    18.                 <string>org.gnu.gnu-zip-archive</string>  
    19.             </array>  
    20.         </dict>  
    21.     </array>  
    22.     <key>UTExportedTypeDeclarations</key>  
    23.     <array>  
    24.         <dict>  
    25.             <key>UTTypeConformsTo</key>  
    26.             <array>  
    27.                 <string>public.plain-text</string>  
    28.                 <string>public.text</string>  
    29.             </array>  
    30.             <key>UTTypeDescription</key>  
    31.             <string>Molecules Structure File</string>  
    32.             <key>UTTypeIdentifier</key>  
    33.             <string>com.fzrong.jpg</string>  
    34.             <key>UTTypeTagSpecification</key>  
    35.             <dict>  
    36.                 <key>public.filename-extension</key>  
    37.                 <string>jpg</string>  
    38.                 <key>public.mime-type</key>  
    39.                 <string>image/jpg</string>  
    40.             </dict>  
    41.         </dict>  
    42.     </array>  
    这就是告诉系统,你能打开 jpg这个文件类型。


    2、打开到自己的app时,要截取到过来资源的文件路径:

    在Appdelegate里添加代码如下:

    [objc]  view plain  copy
      在CODE上查看代码片 派生到我的代码片
    1. - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation  
    2. {  
    3.     if (url != nil) {  
    4.         NSString *path = [url absoluteString];  
    5.         NSMutableString *string = [[NSMutableString alloc] initWithString:path];  
    6.         if ([path hasPrefix:@"file://"]) {  
    7.             [string replaceOccurrencesOfString:@"file://" withString:@"" options:NSCaseInsensitiveSearch  range:NSMakeRange(0, path.length)];  
    8.         }  
    9.         [self.viewController openPng:string];  
    10.           
    11.     }  
    12.       
    13.     return YES;  
    14. }  

    要去掉file://文件路径的头,要不然找不到资源。

    3、在自己的ViewController里打开jgp显示:

    [objc]  view plain  copy
      在CODE上查看代码片 派生到我的代码片
    1. - (void)openPng:(NSString*)string  
    2. {  
    3.     UIImage *image = [[UIImage alloc] initWithContentsOfFile:string];  
    4.     float width = image.size.width;  
    5.     float height = image.size.height;  
    6.     if (width > 320) {  
    7.         height = (height/width) * 300;  
    8.         width = 300;  
    9.     }  
    10.       
    11.     CGRect frame = CGRectMake(020, width, height);  
    12.     imageView.frame = frame;  
    13.       
    14.     imageView.image = image;  
    15.       
    16. }  

    打开之后的效果是这样的:


    注意:这都是在真机上演示的。


    这里例子咱们可以扩展,怎么打开网盘里的gif图片啊,还有其他自己自定义的格式也可以。


    项目完整代码已经上传到: http://download.csdn.net/detail/totogo2010/7460929

    或者github: https://github.com/schelling/openFileType


    参考:

    https://developer.apple.com/library/ios/qa/qa1587/_index.html 

    http://stackoverflow.com/questions/20869815/open-file-from-local-file-system-with-default-application-ios

    容芳志 (http://blog.csdn.net/totogo2010)

    本文遵循“署名-非商业用途-保持一致”创作公用协议



    写了一个很好的PDF阅读软件,那么怎么让用户根据提示打开我们的应用浏览阅读,提高程序的使用率呢?本文就是针对这个问题而来,方法:修改-Info.plist文件。

    1.在plist文件中添加一个URLTypes字段,该字段指定程序的对外接口:


    这部分可以参考我之前写的博客:iOS调用外部程序和系统程序

    2.另外添加一个Documents Type字段,该字段指定与程序关联的文件类型,详情参考System-Declared Uniform Type Identifiers


    其中CFBundleTypeExtensions指定文件类型,例如pdf,doc,这个是不能随便填的。

    CFBundleTypeIconFiles指定用UIActionSheet向用户提示打开应用时显示的图标。

    DocumentTypeName可以自定,对应文件类型名。

    Document Content Type UTIs指定官方指定的文件类型,UTIs即Uniform Type Identifiers。

    如果要关联多个文件类型可以在Document Types中设置多个Item,这里我设置的关联类型包括pdf,doc,ppt。


    接下来上代码。

    AppDelegate类的代码:

    [objc]  view plain  copy
      在CODE上查看代码片 派生到我的代码片
    1. //- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {  
    2. //    return YES;  
    3. //}  
    4.   
    5. -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {  
    6.     if (url && [url isFileURL]) {  
    7.         DocumentViewController *documentViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateInitialViewController];  
    8.         [documentViewController handleDocumentOpenURL:url];  
    9.         return YES;  
    10.     }  
    11.     return NO;  
    12. }  


    其中handleOpenURL确定是否处理外部程序的调用请求,后者则是打开文件的URL。

    再看看DocumentViewController中的处理方法:

    [objc]  view plain  copy
      在CODE上查看代码片 派生到我的代码片
    1. - (void)handleDocumentOpenURL:(NSURL *)url {  
    2.     [self displayAlert:[url absoluteString]];  
    3. }  
    4.   
    5. -(void) displayAlert:(NSString *) str {  
    6.     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert"  
    7.                                                     message:str  
    8.                                                    delegate:nil  
    9.                                           cancelButtonTitle:@"OK"                                                                                         otherButtonTitles:nil];  
    10.     [alert show];  
    11. }  


    Run:

    打开邮箱客户端,随便打开一封邮件中的附件,如pdf,doc格式,选择用其它应用打开(建议真机调试):


    上面图标P对应的程序就是我们的Demo。

    点击该Demo,我们的程序将被启动,并调用openURL方法做出处理,结果如下:


    AlertView显示的内容就是下载的文件的fileURL。

    如果在Mac上运行,打开App的文件夹可以看到对应下载的文件:


    该文件在App的Documents/Inbox/目录下。

    好吧,将接收到的PDF,DOC,PPT等格式的文件与程序关联的工作已经完成,源文件就在我们下载的目录中,接下来想怎么折腾这个文件都可以了。



    展开全文
  • 解决android studio模拟器不显示应用问题

    万次阅读 热门讨论 2019-07-01 15:02:31
    **解决android studio模拟器不显示应用** 使用android studio模拟开发效果的过程中,有的同学可能会遇到模拟器运行了,但是App应用没有运行起来;或者有的同学模拟APP演示的过程中,误操作模拟器中关掉了后台...
  • android手机系统开发中,可能会遇到将第三方应用的修改系统设置及在其他应用上层显示的权限默认打开的问题。我习惯的做法: framework层中,DatabaseHelper.java 中添加 private void loadSettings...
  • python 此应用无法你的电脑运行,拒绝访问 双击安装包,remove,再安装 最近写python遇到的一些问题,望给大家一点帮助。我是小王,CSDN博客:https://blog.csdn.net/cmqwan ...
  • 通过TreeView控件显示"我的电脑"所有磁盘文件树状目录,并点击结点文件夹能右边的ListView中显示文件夹中所有文件信息(名称、大小、类型).希望对大家有所帮组.采用VS2012开发,VS2012一下可能会运行出错.代码含...
  • 安卓应用在各大应用市场上架方法整理

    万次阅读 多人点赞 2018-01-19 10:10:31
    注意:首次提交应用绝对不能随便删除,否则后面再提交会显示应用APP冲突,会要求走应用认领流程,那个时候就会相当麻烦啦。1、腾讯应用宝腾讯开放平台地址:http://open.qq.com注册开发者帐号地址:...
  • 急急急!!!!!!!!!!...我自己写了个多屏幕显示的例子,通过movewindow,将...但是有时候点击任务栏上应用程序的图标时候(扩展平上显示的),扩张屏幕上显示应用程序却跑到主屏幕上来。希望大神们可以帮我下,谢谢!!!!!!
  • killall Dock 后就有了。
  • 找到要打开的文件,鼠标右击。...电脑查找其他应用。 然后按照图片中的excel安装路径,选择EXCEL.ECE就可以了。 若更改并忘记了excel的安装路径,请看第二张图,查找的其安装路径,转上面一样的操作。 1. 2. ...
  • 1.首先需要系统签名。 2.达到的效果: 应用被禁用后,图标也从桌面消失。 3.参考Settings源码,实现的代码如下: package="com.example.testdiableapp" android:versionC
  • 应用程序图标不显示

    千次阅读 2017-06-22 23:51:21
    问题某些应用程序中的图标不显示,桌面有几个,文件夹中也有一些。 应用程序所安装的文件夹中,图标也同样不显示。无效的解决过程 用过 360安全卫士 中的 人工服务 去解决 应用程序图标不显示 的问题,无效。 从...
  • 遇到这样的问题项目应用logo改变了,使用的是新的logo,别的手机都没有问题,就是小米手机会存在问题;最后发现是这样的,小米手机上应用安装的时候先去小米应用商店上去获取商店中旧的图标然后替换掉清单文件...
  • 但是桌面又不显示其他App。 问题: 如何实现一个应用安装后,手机桌面不显示,并可以通过其它入口启动该应用? 解决方案: 只要这个应用没有launcher,那么他就没法出现桌面。 去掉清单文件中这行: <...
  • 像百度网盘等应用,里面的文件打开时,都可以通过以下应用再打开文件。下面红色框框内的我的jpg就是我做的一个例子。因为例子没有提供Icon,所以显示的是默认icon。   下面就是这例子的主要步骤和代码。   ...
  • 前几天写项目的时候运行的时候突然Android桌面没有了应用图标,但是应用里面下载的应用有。调试版本和发布正式的版本都没有,之前以为是因为用了不同的keystore发布了两个不同的正式版本造成的问题。后来看...
  • WindowManager权限允许在其他应用

    千次阅读 2018-01-03 16:04:31
    android6.0之前想要用WindowManager还蛮简单的,这是之前的方法但是改版之后因为安全的问题,  android 系统觉得开发者要放这种功能需要使用者”认真”的同意,于是以后要使用弹出对话框的这种方法不只是宣告...
  • 腾讯云测试了绝大部分各种机型(自己手的5.0.2也测试了),都能够正常运行,唯独5款手机出现了画面显示不全的问题:三星NOTE 5、S7、S7-EDGE、S6-EDGE、以及华为NEXUS 6P。 4款三星的都是2k分辨率,6.0.1的...
  • 如根据应用是否前台来判断是否需要弹框显示后台推送的消息,根据应用是否前台来判断是否需要停止和开启某些服务,根据应用是否前台来判断是否需要触发守护进程将主进程拉到前台来显示等。 判断方法 方式一...
  • 注意:首次提交应用绝对不能随便删除,否则后面再提交会显示应用APP冲突,会要求走应用认领流程,那个时候就会相当麻烦啦。   1、腾讯应用宝 腾讯开放平台地址:http://open.qq.com 注册开发者帐号地址:...
  • 有时候我们苦逼的码农或者设计人员使用电脑时喜欢双屏或者多屏显示,然而,当你有一天返回到单屏的时候,缺发现有些软件,死活就是电脑桌面上显示不了,即使下面有显示这个应用已经打开了,鼠标移动上去也有反应,...
  • MainActivity通过inten-filter中的该标签指定: 安卓应用在手机桌面显示名称是MainActivity的Label。...上面的AndroidManifest中的设置中,应用在手机桌面显示名称是TestApp,因为MainActivity没有指定Labe
  • 如题:app分享到微信让应用来源显示qq浏览器或者是其他应用。 针对这个问题,大家没有没有什么好的思路,或者解决方案~ 2019-11-18 由于最近看到CSDN有一些摘抄盈利行为,这里屏蔽一部分代码。需要研究的找我私...
  • 有时候有特殊需求,不希望任务栏出现应用程序的图标。该怎么办呢?其实可以通过设置窗口标志来实现。调用QWidget的setWindowFlags()函数。 设置为Qt::Tool、Qt::SubWindow、Qt::Popup可以达到目的。但是这样做会...
  • import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class Lianxi9 { public static void main(String[] args) { ... * 应用FileInp...
  • Android应用显示图标实现

    千次阅读 2018-12-26 21:09:18
    有时候我们为了实现一个业务功能,单独一个服务解决不了问题,我们可能需要服务加Activity的样式,而Activity又只能通过服务...在应用主Activity的intent-filter标签中加入data属性标签即可,比如: <activit...
  • NSStatusItem *statusItem;  statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength]; ...setTitle:@"⋯⋯Loading DynamicLyrics⋯⋯Waiting for

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,613,472
精华内容 1,045,388
关键字:

怎么让应用在其他应用上显示